Я пишу сервис JSON на C # (файл .ashx). После успешного запроса к сервису я возвращаю некоторые данные JSON. Если запрос не выполняется, либо из-за того, что было сгенерировано исключение (например, тайм-аут базы данных), либо из-за того, что запрос каким-то образом был неправильным (например, идентификатор, который не существует в базе данных, был указан в качестве аргумента), как служба должна реагировать? Какие коды состояния HTTP являются разумными, и я должен вернуть какие-либо данные, если таковые имеются?
Я ожидаю, что сервис будет в основном вызываться из jQuery с использованием плагина jQuery.form. Есть ли у jQuery или у этого плагина какой-либо способ обработки ответа об ошибке по умолчанию?
РЕДАКТИРОВАТЬ: Я решил, что в случае успеха я буду использовать jQuery + .ashx + HTTP [коды состояния]. Я верну JSON, но при ошибке я верну строку, так как кажется, что это то, что ожидает опция ошибки для jQuery.ajax.