जवाबों:
readyStateमूल्यों की पूरी सूची है:
State Description
0 The request is not initialized
1 The request has been set up
2 The request has been sent
3 The request is in process
4 The request is complete
( https://www.w3schools.com/js/js_ajax_http_response.asp से )
व्यवहार में आप 4 को छोड़कर कभी भी उनमें से किसी का भी उपयोग नहीं करते हैं।
कुछ XMLHttpRequest कार्यान्वयन आप में आंशिक रूप से प्राप्त प्रतिक्रियाओं देखते हैं हो सकता है responseTextजब readyState==3, लेकिन यह सार्वभौमिक समर्थित नहीं है और इस पर भरोसा नहीं किया जाना चाहिए।
kieron के उत्तर में w3schools Ref शामिल है। जिस पर कोई भरोसा नहीं करता है, बॉबिन का उत्तर लिंक देता है, जो वास्तव में IE के मूल कार्यान्वयन को बताता है,
इसलिए यहाँ मूल दस्तावेज को ठीक से समझने के लिए उद्धृत किया गया है जो कि रीडिस्टेट दर्शाता है:
XMLHttpRequest ऑब्जेक्ट कई राज्यों में हो सकता है। रेडीस्टेट विशेषता को वर्तमान स्थिति लौटना चाहिए, जो निम्न में से एक होनी चाहिए:
UNSENT (संख्यात्मक मान 0)
ऑब्जेक्ट का निर्माण किया गया है।
खुला (संख्यात्मक मान 1) खुले () विधि को सफलतापूर्वक लागू किया गया है। इस राज्य के अनुरोध के दौरान हेडर setRequestHeader () का उपयोग करके सेट किया जा सकता है और अनुरोध को भेजें () विधि का उपयोग करके बनाया जा सकता है।HEADERS_RECEIVED (संख्यात्मक मान 2)
सभी पुनर्निर्देश (यदि कोई हो) का पालन किया गया है और अंतिम प्रतिक्रिया के सभी HTTP हेडर प्राप्त हुए हैं। ऑब्जेक्ट के कई प्रतिक्रिया सदस्य अब उपलब्ध हैं।LOADING (सांख्यिक मान 3)
अनुक्रिया निकाय प्राप्त किया जा रहा है।संपन्न (संख्यात्मक मान 4)
डेटा ट्रांसफर पूरा हो गया है या ट्रांसफर के दौरान कुछ गलत हो गया है (जैसे अनंत रीडायरेक्ट)।
कृपया यहाँ पढ़ें: W3C रेडीस्टेट की व्याख्या
0, 1और 2केवल यह ट्रैक करने के लिए कि आपने अब तक कितने अनुरोध किए हैं।
3आपको बताता है कि सर्वर की प्रतिक्रिया में आना शुरू हो गया है। लेकिन जब आप XMLHttpRequestकिसी वेब पेज से ऑब्जेक्ट का उपयोग कर रहे हैं, तो लगभग कुछ भी नहीं है (*) आप उस जानकारी के साथ कर सकते हैं, क्योंकि आपके पास विस्तारित गुणों तक पहुंच नहीं है जो अनुमति देते हैं आप आंशिक डेटा को पढ़ने के लिए।
रेडीस्टेट 4केवल एक ही है जो किसी भी अर्थ को रखता है।
(*: एक मात्र बोधगम्य उपयोग के बारे में जो मैं रेडीस्टेट के लिए जाँचने के लिए सोच सकता हूँ 3, वह यह है कि यह सर्वर के अंत में जीवन के किसी न किसी रूप को इंगित करता है, इसलिए संभवतः आप इसे प्राप्त होने पर पूर्ण प्रतिक्रिया के लिए प्रतीक्षा करने की मात्रा बढ़ा सकते हैं।)
onreadystatechange एक फ़ंक्शन (या किसी फ़ंक्शन का नाम) को स्वचालित रूप से हर बार कॉल करने के लिए तैयार करता है जब तैयार की गई प्रॉपर्टी तैयार हो जाती है, तोState XMLHttpRequest की स्थिति को बढ़ा देता है। 0 से 4 में परिवर्तन:
0: अनुरोध आरंभीकृत नहीं
1: सर्वर कनेक्शन स्थापित
2: अनुरोध प्राप्त हुआ
3: प्रसंस्करण अनुरोध
4: अनुरोध समाप्त हो गया है और प्रतिक्रिया तैयार है
स्थिति 200: "ठीक है"
404 पृष्ठ नहीं मिला
(Https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState से)