У меня есть вызов AJAX в файле .aspx
:
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
});
});
Он вызывается при нажатии кнопки.Предполагается передать идентификатор этой функции 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
не вызывается?