jquery allows for success failure and error responses. How can i return a failure or error manually along with a string that describes the failuer or error?
Стало своего рода соглашением использовать простой конверт JSON для отчета сбои, произошедшие на стороне сервера (не являющиеся ошибками HTTP).
Flickr API предоставляет типичный пример упаковки:
посмотрите внизу этой страницы примеры успешных и неудачных попыток
Таким образом, в случае Ajax-вызова flickr API, в обратном вызове успеха вы должны проверить возвращаемые данные для успеха/неудачи
$.ajax({
//...
success: function(data) {
if(data.stat == 'fail') {
//data.code + data.message contain details that could be used here
}
else {
//do success stuff here
}
}
});
Обратные вызовы успеха и ошибки, предоставляемые jQuery, предназначены для объекта XMLHTTPRequest. Единственный способ, которым вы сможете его использовать, - это если ваш сервер возвращает код ошибки в заголовке ответа HTTP, что не очень распространено, поэтому я бы не рекомендовал его. Короче говоря, функция ошибок jQuery предназначена для фатальных ошибок, таких как URL-адрес не существует или требуется аутентификация.
Любые другие возникающие ошибки должны обрабатываться либо на стороне сервера, либо функцией успеха вызова jQuery ajax.