簡體   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