У меня есть обработчик .NET.ashx, который получает сообщение jQuery AJAX, форматирует запрос веб-службы сторонней службе и потребляет результат. При успехе он создает анонимный объект с соответствующей информацией и форматирует строку ответа JSON.
В случае ошибки веб-службы я делаю следующее:
context.Response.StatusCode = (int)HttpStatusCode.InternalServerError;
context.Response.StatusDescription = wsResult.ErrorCode;
Это делает код и описание состояния легко доступным для обратного вызова ошибки jQuery AJAX; однако способ, которым я это реализовал, довольно произволен.
После некоторого чтения я не могу найти окончательный ответ на следующий вопрос: существует ли принятое универсальное соглашение (или - даже - спецификация) для возврата состояний ошибок на вызовы AJAX на основе JSON, что позволяет потребитель знать, чего ожидать, или это как произвольное, как возвращаемый тип для любого другого вызова функции?
Итак, это вполне приемлемый способ возврата статуса ошибки в вызывающий AJAX или есть "правильный" способ форматирования ответа об ошибке JSON?