У меня есть вызов ajax, передающий данные на страницу, которая затем возвращает значение.
Я получил успешный вызов со страницы, но закодировал его так, что он вызывает ошибку в asp. Как мне получить эту ошибку из jquery?
Например:
cache: false,
url: "addInterview_Code.asp",
type: "POST",
datatype: "text",
data: strData,
success: function (html) {
alert('successful : ' + html);
$("#result").html("Successful");
},
error: function (error) {
**alert('error; ' + eval(error));**
}
Это ошибка, которую я не понимаю. Какой параметр мне нужно указать в функции, чтобы затем можно было использовать сообщение об ошибке, которое я поднял на сервере.
dataType
не такdatatype
..error
и.success
становятся более важными, поскольку они были удалены.Ответы:
Обязательными параметрами в
error
функции Ajax являются,jqXHR, exception
и вы можете использовать их, как показано ниже:ДЕМО FIDDLE
параметры
jqXHR:
На самом деле это объект ошибки, который выглядит так
Вы также можете просмотреть это в своей собственной консоли браузера, используя
console.log
внутриerror
функции, например:Мы используем
status
свойство этого объекта, чтобы получить код ошибки, например, если мы получаем статус = 404, это означает, что запрошенная страница не может быть найдена. Его вообще не существует. На основе этого кода состояния мы можем перенаправлять пользователей на страницу входа или на то, что требует наша бизнес-логика.исключение:
Это строковая переменная, которая показывает тип исключения. Итак, если мы получаем ошибку 404,
exception
текст будет просто «ошибка». Точно так же мы можем получить «тайм-аут», «прервать» как другие тексты исключений.Итак, если вы используете jQuery 1.8 или выше, нам нужно будет обновить логику функции успеха и ошибки, например: -
Надеюсь, поможет!
источник
.error
и.success
становятся более важными, поскольку они были удаленыПопробуй это:
Если вы хотите сообщить своему интерфейсу об ошибке проверки, попробуйте вернуть json:
Ваш asp-скрипт должен вернуть:
источник
Вот как вытащить ошибку asp.
источник
http://api.jquery.com/jQuery.ajax/
источник
источник
вы используете функцию
но jquery фактически ищет функцию с тремя параметрами:
вам нужно будет добавить еще два параметра.
ТАКЖЕ: ознакомьтесь со всеми комментариями выше, в которых упоминается слово «не рекомендуется» :)
источник
function myMethod (err) { alert(err); }
а затем назовите его так: онmyMethod ("something is wrong", 500, some_object)
будет работать без проблем. Согласно вашему заявлению, это будет работать, только если подпись методаfunction myMethod (err, status, some_object)
. Забудьте о приведенном выше примере, сигнатураsuccess
события, которое у вас есть в ответе, есть на самом деле.success(data, status, xhr)
, но если вам просто нужен результат, мы обычно привязываем его,.success (data)
и оба работают.С jquery.com:
Если вам нужны глобальные обработчики, вы можете использовать:
источник