2012-04-18 39 views
0

我使用ajax提交表單,驗證在服務器端完成。 如果驗證失敗,我返回一個JSON編碼的對象與錯誤和狀態碼:500 當客戶端的jQuery得到我的錯誤處理函數被調用的響應和它的作品完美,但 (也許這是一種正常的行爲)的異常在Chrome拋出(或許還有其他瀏覽器太):Jquery ajax錯誤處理程序函數存在,但仍然拋出異常

POST http://localhost/workplace/.../clients/create 500 (Internal Server Error) 

這讓我和我的可能客戶的感覺「我的程序無法正常工作,但僅僅是一個驗證錯誤。 如何處理這種情況?

+0

你爲什麼要返回一個500狀態碼? – 2012-04-18 08:37:51

+0

如果服務器端驗證失敗,我想在客戶端調用我的errorHandler。爲什麼500?現在,只是形式測試..我應該使用什麼狀態代碼? – 2012-04-18 08:39:20

+1

看看這個問題:http://stackoverflow.com/questions/6701376/what-response-status-code-should-i-send-to-an-ajax-request-when-there-is-a-user – 2012-04-18 08:44:10

回答

1

您不應該返回500(內部服務器錯誤)代碼。這是爲了表明服務器有問題(與請求不一致)。這可能是導致異常的原因。我相信這是很好的返回一個200(OK)的代碼。您不需要在HTTP狀態代碼中反映驗證錯誤。

+0

[進一步說明](http://stackoverflow.com/a/6701385/230167) – 2012-04-18 08:51:49

相關問題