2013-04-06 3 views
0

Я работаю на классе ajax на стороне сервера, который используется для возврата строки json. Этот класс, например, мог бы возвращать данные json всякий раз, когда на сервере выполняется запрос ajax. Теперь мне интересно, когда нужно возвращать коды статуса http на основе ответа от сервера.ajax callback, http status codes и validation

Так, например, допустим, пользователь отправляет регистрационную форму, и запрос выполняется через ajax. Если сервер обнаруживает неверный или плохой синтаксис (неверный адрес электронной почты или имя или проверка IE не удалось), было бы уместно разрешить серверу в этом случае установить ошибку кода состояния (400) в заголовке в качестве части ответа с помощью ajax-объект?

Чтобы сделать этот шаг дальше, мы можем использовать ошибку jQuery .ajax для обработки сообщения об ошибке.

Из моего опыта в области развития, я часто замечал ошибки проверки или другие ошибки, такие как конфликт, возвращались с сервера как 200, и обычно ошибка определяется в функции успеха jquery.ajax. Это не похоже на хорошую практику для меня? Как вы думаете?

ответ

0

Вы можете установить код ответа. Например, в php -

<?php 
http_response_code(404); 
?> 
+0

Да, это довольно удобная сетевая функция php5.4, с которой я играл, но она не отвечает на мой вопрос. Я действительно понимаю, как вернуть коды статуса HTTP внутри заголовка, используя как java, так и php: -p. Я просто хочу знать, должен ли я попытаться сделать это как можно больше, даже с запросами ajax, сделанными на сервер, для чего-то вроде проверки ввода (например, регистрации). – DrayC

+0

Я бы предложил не использовать коды статуса для проверки ввода. Их лучше так что ... когда вы можете отвечать своими собственными кодами в формате json –

+0

Но разве это не побеждает цель того, что я использую http для этого сценария, а http уже имеет четко определенные определения кодов состояния? Похоже, что обычное решение - это только изобретать колесо, и это сделает его более сложным для следующего человека. – DrayC