다음과 같이 코드에서 webMethod를 정의했습니다.매개 변수를 로컬 변수로 사용하는 Ajax 호출이 작동하지 않습니다.
[System.Web.Services.WebMethod]
public static string testCall(int qid, String answerContent)
{
log.Debug("this is call from jquery" + qid.ToString() + answerContent);
return "true";
}
아래와 같이 jquery에서 ajax 호출을 통해이 메소드를 호출하려고합니다.
<script>
$(".submitBtn").click(function (e) {
alert(this.id);
var qID = this.id;
$.ajax({
type: "POST",
url: '/default.aspx/testCall',
data: '{ "qid":' + qID + ', "answerContent":"test" }',
contentType: "application/json; charset=utf-8",
success: function() {
},
failure: function (response) {
alert("fail");
},
dataType: 'html'
});
});
</script>
하지만 이는 작동하지 않습니다.
그러나 아래와 같이 매개 변수의 하드 코딩 된 값을 전달합니다. 정상적으로 작동합니다.
data: '{ "qid":"1234", "answerContent":"test" }'
그러나 var qID
당신과 같이이 줄을 사용해야합니다
'data : JSON.stringify ({ "qid": qID, "answerContent": "test"})로 한번 테스트하십시오. – Satpal
Webforms를 올바르게 사용하고 있다고 가정합니까? – Valkyrie
@Valkyriee 예. –