[英]I'm using ajax call in ASP.NET application and I'm getting entire HTML page as response from jquery Ajax call
[英]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對象中的錯誤函數將始終運行。 錯誤看起來像這樣:
在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.