开发者问题收集

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