私はコードの中に次のように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はい。 –