繁体   English   中英

对Asp.net Web方法的Ajax调用不会触发

[英]Ajax call to asp.net web method doesn't trigger

我是ajax和javascript的新手。

我的Web项目根目录中的一个名为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方法。 任何帮助将不胜感激。

谢谢!

尝试将类型更改为GET not POST (这可能就是为什么您的网页没有被点击的原因)。 另外,您的failure 参数不正确 ,应该是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的信息(错误字符串,错误代码等)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM