2013-04-06 92 views
0

我一直在工作的服務器端ajax類,用於返回一個JSON字符串。例如,這個類可以在服務器上執行ajax請求時返回json數據。現在,我想知道什麼時候根據服務器的響應返回http狀態代碼是合適的。ajax回調,http狀態碼和驗證

例如,假設用戶正在提交註冊表單,並且請求是通過ajax進行的。如果服務器檢測到格式錯誤或錯誤(IE錯誤的電子郵件或名稱或驗證失敗),在這種情況下允許服務器在頭中設置http狀態碼錯誤(400)作爲響應的一部分ajax對象?

爲了更進一步,我們可以使用jquery .ajax錯誤來處理錯誤消息。

從我的開發經驗來看,我經常注意到驗證錯誤或其他錯誤(如衝突)從服務器返回爲200,通常錯誤在jquery.ajax的成功函數中確定。這對我來說不像是很好的HTTP練習?你怎麼看?

回答

0

您可以設置響應碼。例如在php -

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

是的,這是一個非常方便的php5.4網絡功能,我也玩過,但它不能回答我的問題。我知道如何使用java和php :-p在頭部返回http狀態碼。我只想知道我是否應該儘可能地嘗試做到這一點,即使對服務器提出的輸入驗證請求(即註冊) – DrayC 2013-04-06 15:05:10

+0

我建議不要使用狀態代碼進行輸入驗證。它們更好方式是那麼..當你可以用json格式自定義代碼作出響應 – 2013-04-06 15:10:59

+0

但是,這不會破壞我在這種情況下使用http的事實,http的狀態代碼已經定義好了嗎?看起來定製解決方案只是重新發明輪子,它會讓下一個挑選的人變得更具挑戰性。 – DrayC 2013-04-06 15:31:50