एक्सएमएल ट्यूटोरियल

एक्सएमएल होम एक्सएमएल परिचय एक्सएमएल कैसे इस्तेमाल करें एक्सएमएल ट्री एक्सएमएल सिंटैक्स एक्सएमएल तत्व एक्सएमएल गुण एक्सएमएल नेमस्पेस एक्सएमएल डिस्प्ले एक्सएमएल एचटीपीअनुरोध एक्सएमएल पार्सर एक्सएमएल डोम एक्सएमएल XPath एक्सएमएल एक्सएसएलटी एक्सएमएल XQuery एक्सएमएल एक्सलिंक एक्सएमएल सत्यापनकर्ता एक्सएमएल डीटीडी एक्सएमएल स्कीमा एक्सएमएल सर्वर एक्सएमएल उदाहरण एक्सएमएल प्रश्नोत्तरी एक्सएमएल प्रमाणपत्र

एक्सएमएल अजाक्स

AJAX परिचय अजाक्स एक्सएमएलएचटीपी अजाक्स अनुरोध अजाक्स प्रतिक्रिया अजाक्स एक्सएमएल फ़ाइल अजाक्स पीएचपी अजाक्स एएसपी AJAX डेटाबेस अजाक्स अनुप्रयोग अजाक्स उदाहरण

एक्सएमएल डोम

डोम परिचय डोम नोड्स डोम एक्सेसिंग डोम नोड जानकारी डोम नोड सूची डोम ट्रैवर्सिंग डोम नेविगेटिंग डोम मूल्य प्राप्त करें डोम चेंज नोड्स डोम नोड्स निकालें डोम नोड्स बदलें डोम नोड्स बनाएं डोम नोड्स जोड़ें डोम क्लोन नोड्स डोम उदाहरण

XPath ट्यूटोरियल

XPath परिचय XPath नोड्स XPath सिंटैक्स XPath अक्ष XPath ऑपरेटर्स XPath उदाहरण

एक्सएसएलटी ट्यूटोरियल

एक्सएसएलटी परिचय एक्सएसएल भाषाएं एक्सएसएलटी ट्रांसफॉर्म एक्सएसएलटी <टेम्पलेट> एक्सएसएलटी <मूल्य का> एक्सएसएलटी <प्रत्येक के लिए> एक्सएसएलटी <सॉर्ट> एक्सएसएलटी <अगर> एक्सएसएलटी <चुनें> एक्सएसएलटी लागू करें क्लाइंट पर एक्सएसएलटी सर्वर पर एक्सएसएलटी एक्सएसएलटी एक्सएमएल संपादित करें एक्सएसएलटी उदाहरण

XQuery ट्यूटोरियल

XQuery परिचय XQuery उदाहरण XQuery FLWOR XQuery एचटीएमएल XQuery शर्तें XQuery सिंटैक्स XQuery जोड़ें XQuery चुनें XQuery कार्य

एक्सएमएल डीटीडी

डीटीडी परिचय डीटीडी बिल्डिंग ब्लॉक्स डीटीडी तत्व डीटीडी गुण DTD एलिमेंट्स बनाम Attr डीटीडी इकाइयां डीटीडी उदाहरण

एक्सएसडी स्कीमा

एक्सएसडी परिचय एक्सएसडी कैसे करें एक्सएसडी <स्कीमा> एक्सएसडी तत्व एक्सएसडी गुण एक्सएसडी प्रतिबंध

एक्सएसडी कॉम्प्लेक्स

एक्सएसडी तत्व एक्सएसडी खाली केवल एक्सएसडी तत्व केवल एक्सएसडी पाठ एक्सएसडी मिश्रित एक्सएसडी संकेतक एक्सएसडी <कोई भी> एक्सएसडी <anyAttribute> एक्सएसडी प्रतिस्थापन एक्सएसडी उदाहरण

एक्सएसडी डेटा

एक्सएसडी स्ट्रिंग एक्सएसडी तिथि एक्सएसडी न्यूमेरिक एक्सएसडी विविध एक्सएसडी संदर्भ

वेब सेवाएं

एक्सएमएल सेवाएं एक्सएमएल डब्लूएसडीएल एक्सएमएल साबुन एक्सएमएल आरडीएफ एक्सएमएल आरएसएस

संदर्भ

डोम नोड प्रकार डोम नोड डोम नोडसूची डोम नेम नोडमैप डोम दस्तावेज़ डोम तत्व डोम विशेषता डोम टेक्स्ट डोम सीडीएटीए डोम टिप्पणी डोम एक्सएमएलएचटीटीपीअनुरोध डोम पार्सर एक्सएसएलटी तत्व एक्सएसएलटी/XPath फ़ंक्शंस

AJAX - सर्वर को एक अनुरोध भेजें


XMLHttpRequest ऑब्जेक्ट का उपयोग सर्वर के साथ डेटा का आदान-प्रदान करने के लिए किया जाता है।


एक सर्वर को एक अनुरोध भेजें

सर्वर को अनुरोध भेजने के लिए, हम XMLHttpRequest ऑब्जेक्ट के खुले () और भेजें () विधियों का उपयोग करते हैं:

xhttp.open("GET", "ajax_info.txt", true);
xhttp.send();
Method Description
open(method, url, async) Specifies the type of request

method: the type of request: GET or POST
url: the server (file) location
async: true (asynchronous) or false (synchronous)
send() Sends the request to the server (used for GET)
send(string) Sends the request to the server (used for POST)

प्राप्त करें या पोस्ट करें?

POST की तुलना में GET सरल और तेज है, और ज्यादातर मामलों में इसका उपयोग किया जा सकता है।

हालाँकि, हमेशा POST अनुरोधों का उपयोग करें जब:

  • कैश्ड फ़ाइल एक विकल्प नहीं है (सर्वर पर फ़ाइल या डेटाबेस अपडेट करें)।
  • सर्वर पर बड़ी मात्रा में डेटा भेजना (POST की कोई आकार सीमा नहीं है)।
  • उपयोगकर्ता इनपुट भेजना (जिसमें अज्ञात वर्ण हो सकते हैं), POST GET की तुलना में अधिक मजबूत और सुरक्षित है।

अनुरोध प्राप्त करें

एक साधारण GET अनुरोध:

उदाहरण

xhttp.open("GET", "demo_get.asp", true);
xhttp.send();

ऊपर के उदाहरण में, आपको कैश्ड परिणाम मिल सकता है। इससे बचने के लिए यूआरएल में एक यूनिक आईडी जोड़ें:

उदाहरण

xhttp.open("GET", "demo_get.asp?t=" + Math.random(), true);
xhttp.send();

यदि आप GET विधि से जानकारी भेजना चाहते हैं, तो जानकारी को URL में जोड़ें:

उदाहरण

xhttp.open("GET", "demo_get2.asp?fname=Henry&lname=Ford", true);
xhttp.send();


पोस्ट अनुरोध

एक साधारण पोस्ट अनुरोध:

उदाहरण

xhttp.open("POST", "demo_post.asp", true);
xhttp.send();

HTML फॉर्म की तरह डेटा पोस्ट करने के लिए, setRequestHeader() के साथ एक HTTP शीर्षलेख जोड़ें। वह डेटा निर्दिष्ट करें जिसे आप भेजना () विधि में भेजना चाहते हैं:

उदाहरण

xhttp.open("POST", "demo_post2.asp", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send("fname=Henry&lname=Ford");
Method Description
setRequestHeader(header, value) Adds HTTP headers to the request

header: specifies the header name
value: specifies the header value

यूआरएल - सर्वर पर एक फाइल

ओपन () विधि का url पैरामीटर, सर्वर पर किसी फ़ाइल का पता है:

xhttp.open("GET", "ajax_test.asp", true);

फ़ाइल किसी भी प्रकार की फ़ाइल हो सकती है, जैसे .txt और .xml, या सर्वर स्क्रिप्टिंग फ़ाइलें जैसे .asp और .php (जो प्रतिक्रिया वापस भेजने से पहले सर्वर पर कार्रवाई कर सकती हैं)।


अतुल्यकालिक - सही या गलत?

सर्वर अनुरोध अतुल्यकालिक रूप से भेजे जाने चाहिए।

open() विधि का async पैरामीटर सत्य पर सेट होना चाहिए:

xhttp.open("GET", "ajax_test.asp", true);

अतुल्यकालिक रूप से भेजकर, जावास्क्रिप्ट को सर्वर प्रतिक्रिया के लिए प्रतीक्षा करने की आवश्यकता नहीं है, बल्कि इसके बजाय:

  • सर्वर प्रतिक्रिया की प्रतीक्षा करते हुए अन्य स्क्रिप्ट निष्पादित करें
  • प्रतिक्रिया तैयार होने के बाद प्रतिक्रिया से निपटें

ऑनरेडीस्टेटचेंज प्रॉपर्टी

XMLHttpRequest ऑब्जेक्ट के साथ आप अनुरोध प्राप्त होने पर निष्पादित किए जाने वाले फ़ंक्शन को परिभाषित कर सकते हैं।

फ़ंक्शन को XMLHttpResponse ऑब्जेक्ट की ऑनरेडीस्टेटचेंज प्रॉपर्टी में परिभाषित किया गया है:

उदाहरण

xhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    document.getElementById("demo").innerHTML = this.responseText;
  }
};
xhttp.open("GET", "ajax_info.txt", true);
xhttp.send();

ऊपर के उदाहरण में प्रयुक्त "ajax_info.txt" फ़ाइल एक साधारण टेक्स्ट फ़ाइल है और इस तरह दिखती है:

<h1>AJAX</h1>
<p>AJAX is not a programming language.</p>
<p>AJAX is a technique for accessing web servers from a web page.</p>
<p>AJAX stands for Asynchronous JavaScript And XML.</p>

आप बाद के अध्याय में ऑनरेडी स्टेट चेंज के बारे में अधिक जानेंगे।


तुल्यकालिक अनुरोध

एक सिंक्रोनस अनुरोध निष्पादित करने के लिए, ओपन () विधि में तीसरे पैरामीटर को गलत में बदलें:

xhttp.open("GET", "ajax_info.txt", false);

कभी-कभी त्वरित परीक्षण के लिए async = false का उपयोग किया जाता है। आपको पुराने जावास्क्रिप्ट कोड में सिंक्रोनस अनुरोध भी मिलेंगे।

चूंकि कोड सर्वर के पूरा होने की प्रतीक्षा करेगा, इसलिए onreadystatechange फ़ंक्शन की कोई आवश्यकता नहीं है:

उदाहरण

xhttp.open("GET", "ajax_info.txt", false);
xhttp.send();
document.getElementById("demo").innerHTML = xhttp.responseText;

सिंक्रोनस XMLHttpRequest (async = false) की अनुशंसा नहीं की जाती है क्योंकि सर्वर प्रतिक्रिया तैयार होने तक जावास्क्रिप्ट निष्पादित करना बंद कर देगा। यदि सर्वर व्यस्त या धीमा है, तो एप्लिकेशन हैंग या बंद हो जाएगा।

सिंक्रोनस XMLHttpRequest वेब मानक से निकाले जाने की प्रक्रिया में है, लेकिन इस प्रक्रिया में कई वर्ष लग सकते हैं।

आधुनिक डेवलपर टूल को सिंक्रोनस अनुरोधों का उपयोग करने के बारे में चेतावनी देने के लिए प्रोत्साहित किया जाता है और ऐसा होने पर एक InvalidAccessError अपवाद फेंक सकता है।