我是ajax和javascript的新手。
我在网站的根目录中名为people.aspx的页面中有以下Web方法:
[System.Web.Services.WebMethod]
public static string RenderDetails()
{
return "Is it working?";
}
我正在尝试通过people.aspx页面的Ajax调用来访问Web方法。我对div的click事件进行了以下ajax调用:
$("div.readonly").click(function (e) {
e.stopPropagation();
$.ajax({
type: "POST",
async:false,
url: "people.aspx/RenderDetails",
dataType: "json",
beforeSend: function () {
alert("attempting contact");
},
success: function (data) {
alert("I think it worked.");
},
failure: function (msg) { alert("Sorry!!! "); }
});
alert("Implement data-loading logic");
});
我没有在javascript控制台中收到任何错误,但是,ajax调用也没有点击web方法。任何帮助将不胜感激。
谢谢!
答案 0 :(得分:0)
尝试将类型更改为GET
而不是POST
(这可能是您的网页未被点击的原因)。同样是您的failure
parameter is incorrect,它应该是error
。展开它以包含所有参数(它将提供更多信息)。简而言之,将整个AJAX查询更改为:
$.ajax({
type: "GET",
async:false,
url: "people.aspx/RenderDetails",
dataType: "json",
beforeSend: function () {
alert("attempting contact");
},
success: function (data) {
alert("I think it worked.");
},
error: function (jqXhr, textStatus, errorThrown)
alert("Sorry!!! "); // Insert breakpoint here
}
});
在浏览器中,调试错误功能。参数(特别是jqXHR)包含大量有关失败的信息。如果您还有更多问题,请向我们提供jqXHR中的信息(错误字符串,错误代码等)。