У меня есть простое веб-приложение. Я создал сервер REST API, чтобы он возвращал ответ с HTTP-кодом и объектом JSON (или XML) с более подробной информацией: код приложения (специфичный для сценария, сообщение, описывающее, что произошло и т.д.).
Итак, например, если клиент отправляет запрос Register и пароль слишком короткий, HTTP-код ответа будет 400 (Bad Request), а данные ответа будут: {appCode : 1020 , message : "Password is too short"}
.
В jQuery я использую функцию "ajax" для создания запроса POST. Когда сервер возвращает что-то отличное от HTTP-кода 200 (OK), jQuery определяет его как "ошибку".
Обработчик ошибок может получить 3 параметра: jqXHR, textStatus, errorThrown. Хо, могу ли я получить объект JSON, отправленный сервером в случае ошибки?
Edit:
1) Вот мой код JS:
function register (userName, password) {
var postData = {};
postData["userName"] = userName;
postData["password"] = password;
$.ajax ({
dataType: "json",
type: "POST",
url: "<server>/rest/register",
data: postData,
success: function(data) {
showResultSucceed(data);
hideWaitingDone();
},
error: function (jqXHR, textStatus, errorThrown) {
showResultFailed(jqXHR.responseText);
hideWaitingFail();
}
})
}
2) При взгляде на консоль Firebug кажется, что ответ пуст. При вызове одного и того же запроса с помощью инструмента тестирования REST я получаю ответ с объектом JSON it it.
Что я делаю неправильно?