एक्सएमएल एचटीपीअनुरोध
सर्वर से डेटा का अनुरोध करने के लिए सभी आधुनिक ब्राउज़रों में एक अंतर्निहित XMLHttpRequest ऑब्जेक्ट होता है।
XMLHttpRequest ऑब्जेक्ट
XMLHttpRequest ऑब्जेक्ट का उपयोग वेब सर्वर से डेटा का अनुरोध करने के लिए किया जा सकता है।
XMLHttpRequest ऑब्जेक्ट एक डेवलपर का सपना है , क्योंकि आप यह कर सकते हैं:
- पृष्ठ को पुनः लोड किए बिना वेब पृष्ठ को अपडेट करें
- सर्वर से डेटा का अनुरोध करें - पेज लोड होने के बाद
- सर्वर से डेटा प्राप्त करें - पेज लोड होने के बाद
- सर्वर को डेटा भेजें - पृष्ठभूमि में
XMLHttpRequest उदाहरण
जब आप नीचे दिए गए इनपुट फ़ील्ड में एक वर्ण टाइप करते हैं, तो सर्वर पर एक XMLHttpRequest भेजा जाता है, और कुछ नाम सुझाव (सर्वर से) वापस कर दिए जाते हैं:
उदाहरण
ऊपर दिए गए उदाहरण को इस ट्यूटोरियल के AJAX चैप्टर में समझाया गया है।
XMLHttpRequest भेजा जा रहा है
XMLHttpRequest ऑब्जेक्ट का उपयोग करने के लिए एक सामान्य जावास्क्रिप्ट सिंटैक्स इस तरह दिखता है:
उदाहरण
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// Typical action to be performed when the document is ready:
document.getElementById("demo").innerHTML = xhttp.responseText;
}
};
xhttp.open("GET", "filename", true);
xhttp.send();
उदाहरण समझाया गया
ऊपर दिए गए उदाहरण में पहली पंक्ति XMLHttpRequest ऑब्जेक्ट बनाती है:
var xhttp = new XMLHttpRequest();
onreadystatechange प्रॉपर्टी हर बार XMLHttpRequest ऑब्जेक्ट की स्थिति बदलने पर निष्पादित होने वाले फ़ंक्शन को निर्दिष्ट करती है :
xhttp.onreadystatechange = function()
जब रेडीस्टेट संपत्ति 4 है और स्थिति संपत्ति 200 है, तो प्रतिक्रिया तैयार है:
if (this.readyState == 4 && this.status == 200)
प्रतिक्रिया टेक्स्ट गुण सर्वर प्रतिक्रिया को टेक्स्ट स्ट्रिंग के रूप में देता है ।
टेक्स्ट स्ट्रिंग का उपयोग वेब पेज को अपडेट करने के लिए किया जा सकता है:
document.getElementById("demo").innerHTML = xhttp.responseText;
आप इस ट्यूटोरियल के AJAX अध्यायों में XMLHttpRequest ऑब्जेक्ट के बारे में बहुत कुछ सीखेंगे।
इंटरनेट एक्सप्लोरर के पुराने संस्करण (आईई5 और आईई6)
Internet Explorer के पुराने संस्करण (IE5 और IE6) XMLHttpRequest ऑब्जेक्ट का समर्थन नहीं करते हैं।
IE5 और IE6 को संभालने के लिए, जांचें कि क्या ब्राउज़र XMLHttpRequest ऑब्जेक्ट का समर्थन करता है, या फिर एक ActiveXObject बनाएं:
उदाहरण
if (window.XMLHttpRequest) {
// code for modern browsers
xmlhttp = new XMLHttpRequest();
}
else {
// code for old IE browsers
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}