AJAX 调用服务器方法时出现 ReferenceError: json 未定义
2017-07-08
11668
我想通过 AJAX 调用来调用服务器方法。但是当我单击按钮并调用 AJAX 函数时,它会显示错误。
这是我的代码
<input type="button" id="btn_findsubmit" value="Edit" class="button" />
$(document).on("click", "#btn_findsubmit", function (e) {
var c = $find("<%=cmbobx_search.ClientID %>");
$.ajax({
type: "POST",
url: "schoolregistration.aspx/GetSchoolName",
data: json.stringify({ schoolname: c.get_textboxcontrol().value }),
contenttype: "application/json; charset=utf-8",
datatype: "json",
success: OnSuccessGetSchoolName,
failure: function () {
alert("error! try again...");
}
});
});
[WebMethod] [ScriptMethod]
public static string GetSchoolName(string schoolName){
//Here is the code
}
现在当我单击按钮时,JavaScript 按钮单击事件正在运行,但 ajax 方法不会调用服务器方法 GetSchoolName(我通过调试模式知道)。
并抛出一个错误:
ReferenceError: json is not defined
2个回答
应该是
JSON.stringify
,而不是
json.stringify
michelle vu
2017-07-08
<input type="button" id="btn_findsubmit" value="Edit" class="button" />
<script>
$(document).on("click", "#btn_findsubmit", function (e) {
$.ajax({
type: "POST",
url: "Default.aspx/GetSchoolName",
data: JSON.stringify({ schoolName: "school name" }),
contentType: "application/json; charset=utf-8",
datatype: "json",
success: function (data) {
alert(data.d);
},
failure: function () {
alert("error! try again...");
}
});
});
</script>
[WebMethod]
public static string GetSchoolName(string schoolName)
{
//Here is the code
return "success";
}
首先它必须是
JSON.stringify
而不是
json.stringify
,其次它必须是
contentType
而不是
contenttype
,第三
[WebMethod]
中的参数名称必须与您的 ajax 数据中的名称相同。
在这种情况下,
schoolName
而不是
schoolname
。
希望这对您有所帮助。
Mudasir Younas
2017-07-08