簡體   English   中英

jQuery AJAX調用獲得HTML響應

[英]jQuery AJAX call getting HTML response

我在.aspx文件中有一個AJAX調用:

var data = { "schoolID": id };

$.ajax({
    type: "POST"
    , url: "schools.aspx/DeleteSchool"
    , data: JSON.stringify(data)
    , contentType: "application/json; charset=utf-8"
    , dataType: "json"
    , error: function (XMLHttpRequest, textStatus, errorThrown) {
        $.alert({
            title: "Error deleting school"
            , type: "red"
            , content: XMLHttpRequest + "||\n" + textStatus + "||\n" + errorThrown
        });
});

單擊按鈕時調用。 應該將一個id傳遞給此C#函數:

[WebMethod]
public void DeleteSchool(int schoolID)
{
    string query = @"
        DELETE
        FROM tableName
        WHERE id = @schoolID
    ";

    List<SQLParameter> parameters = new List<SQLParameter> {
        new SQLParameter("@schoolID", schoolID)
    };

    SqlConn.doQuery(query, parameters);
}

但是,當我在C#函數中放置一個斷點時,它永遠不會中斷,並且AJAX對象中的錯誤函數將始終運行。 錯誤看起來像這樣:

Firefox Developer Edition中的錯誤圖像

在Chrome中,如下所示:

Chrome中的錯誤圖片

響應以HTML形式返回:

反應的形象

反應的形象

當我檢查請求的參數時,似乎傳遞的JSON對象格式正確,因此我不確定在這里出了什么問題或為什么WebMethod從未被點擊過。 我檢查了MDN文檔中的302代碼 ,但不確定是否與我的問題有關。 根據我的研究,看來AJAX期望使用JSON而不是HTML,並且無法解析響應,但是我對原因感到困惑,因為WebMethod的返回是無效的,而且無論如何都不會被擊中。 為什么我得到HTML響應,為什么不調用WebMethod

您在ajax調用中的網址必須是

網址:“ http:// localhost:56302 / context / Math / schools.aspx / DeleteSchool

事實證明,問題出在我組織處理請求的方式上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM