2012-09-29 14 views
10

मैं उपयोगकर्ता नाम सेट करने के लिए एक AJAX कॉल कर रहा हूं। यदि उपयोगकर्ता नाम पहले ही लिया गया है तो मुझे किस HTTP कोड को वापस करना चाहिए?पहले से ही नाम के लिए वापस आने के लिए HTTP त्रुटि कोड क्या है?

+0

[यह ईमेल पहले से पंजीकृत है "के लिए कौन सा HTTP प्रतिक्रिया कोड का संभावित डुप्लिकेट है?] (Http://stackoverflow.com/questions/9269040/which-http-response-code-for-this-email-is- पहले से पंजीकृत) –

उत्तर

-2

पहले से ही नाम के लिए कोई HTTP कोड नहीं है। कृपया List of HTTP Status Codes देखें।

आप उपयोग कर रहे हैं AJAX के उपयोगकर्ता नाम सेट करने के लिए कहता है, क्यों नहीं बस HTML में त्रुटि दिखाता? यह अधिक उपयोगकर्ता के अनुकूल है क्योंकि आपके आगंतुकों को पता होगा कि वास्तविक त्रुटि का अर्थ क्या है, कुछ 4XX कोड देखने के बजाय।

+1

मैं jquery के साथ 4xx कोड पकड़ने और उपयोगकर्ता के अनुकूल त्रुटि संदेश प्रदर्शित करने जा रहा था। – Ryan

+0

आप http स्टेटस कोड के साथ चीजों को पकड़ने तक सीमित नहीं हैं। आप इसके बजाय त्रुटि संदेश पकड़ सकते हैं। [$ .ajax पर jQuery एपीआई] की जांच करें (http://api.jquery.com/jQuery.ajax/)। 'सफलता' हैंडलर आपकी मदद करनी चाहिए, बस एपीआई में उदाहरणों की जांच करें। – rationalboss

+0

जैसा कि मैंने नीचे टिप्पणी की है, 200 सफलता के लिए है। अनुरोधों को पूरा करने में त्रुटियां एक त्रुटि स्थिति कोड वारंट करती हैं। मुझे उम्मीद है कि जब अनुरोध विफल हो गया है तो रायन 200 से वापस लौटने के रास्ते से बाहर नहीं निकले हैं - यह चारों ओर एक बुरा विचार है। –

7

मैं 422 अनप्रचारनीय इकाई का चयन करूंगा। बहुत सारे रेल डेवलपर्स सभी सत्यापन त्रुटियों के लिए इसका उपयोग करते हैं।

और हाँ, यह पूरी तरह से त्रुटि स्थिति का मूल्यांकन करने और जावास्क्रिप्ट के साथ त्रुटि संदेश रेंडर करने के लिए उपयुक्त है। यह विशेष रूप से उपयोगी है, यदि आप एक एपीआई के लिए एक ही क्रिया का उपयोग कर रहे हैं। फिर आपके AJAX अनुरोध एक ही एपीआई तक पहुंच रहे हैं जिसे आप अन्य डेवलपर्स के सामने पेश करेंगे।

16

आप त्रुटि संदेश के साथ 40 9 Conflict.otherwise 200 का उपयोग कर सकते हैं।

1

यहां कोई नियम नहीं है, यह आपके ऊपर है। हालांकि, जैसा कि @rationalboss ने कहा था, HTTP अनुरोध सफल होने के बाद 200 से संदेश लौटने का अर्थ है, त्रुटि अनुरोध से संबंधित नहीं है।

400 त्रुटियों मतलब अनुरोध ही गलत क्रिया या लापता मानकों की तरह किसी तरह से सही नहीं था,।

यहाँ सवाल है, व्याख्या के बारे में है दोनों सॉफ्टवेयर ग्राहकों से और मनुष्यों से है और यह बेहतर हो सकता है त्रुटि कोड से दूर रहने की जब कोई HTTP त्रुटि है।

+1

मैं असहमत हूं, लेकिन जैसा कि आपने कहा था कि यह राय का विषय है। मेरे लिए, अनुरोध को पूरा करने में त्रुटि एक त्रुटि कोड वारंट करता है। मैं नहीं चाहता कि कोई ग्राहक गलत कुछ जानने के जवाब में विवरण की जांच कर रहा हो। अगर मैं ठीक लौटाता हूं, तो इसका मतलब है कि यह सफल रहा है। अनुरोध को पूरा करने में कोई भी त्रुटि 400 श्रेणी के अंतर्गत आनी चाहिए, जब तक कि यह एक वास्तविक सर्वर अपवाद नहीं है, जिस मामले में यह 500 तक जाता है, लेकिन 200 कभी नहीं। –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^