एजेक्स (प्रोग्रामिंग): Difference between revisions

From Vigyanwiki
Line 21: Line 21:
IE 5 में Windows XMLHTTP [[ActiveX]] नियंत्रण की कार्यक्षमता को बाद में [[फ़ायरफ़ॉक्स]], सफारी (वेब ​​ब्राउज़र), [[ओपेरा (वेब ​​ब्राउज़र)]], Google क्रोम और अन्य ब्राउज़रों द्वारा XMLHttpRequest JavaScript ऑब्जेक्ट के रूप में लागू किया गया था।<ref name="apple">{{cite web | url=https://developer.apple.com/internet/webcontent/xmlhttpreq.html | title=Dynamic HTML and XML: The XMLHttpRequest Object | publisher=Apple Inc. | access-date=25 June 2008 | archive-url=https://web.archive.org/web/20080509103519/http://developer.apple.com/internet/webcontent/xmlhttpreq.html | archive-date=9 May 2008 | url-status=live }}</ref> Microsoft ने [[Internet Explorer 7]] के रूप में मूल XMLHttpRequest मॉडल को अपनाया। ActiveX संस्करण अभी भी Internet Explorer में समर्थित है, लेकिन [[Microsoft Edge]] में नहीं। इन पृष्ठभूमि [[HTTP]] अनुरोधों और अतुल्यकालिक वेब तकनीकों की उपयोगिता तब तक काफी अस्पष्ट रही जब तक कि यह आउटलुक वेब एक्सेस (2000) जैसे बड़े पैमाने के ऑनलाइन अनुप्रयोगों में दिखाई देने लगी।<ref>{{Cite web|last=Hopmann|first=Alex|title=XMLHTTP की कहानी|url=http://www.alexhopmann.com/story-of-xmlhttp/|work=Alex Hopmann’s Blog|access-date=17 May 2010|url-status=dead|archive-url=https://web.archive.org/web/20100330150027/http://www.alexhopmann.com/story-of-xmlhttp/|archive-date=30 March 2010}}</ref> और [[अजीब पोस्ट]] (2002)।
IE 5 में Windows XMLHTTP [[ActiveX]] नियंत्रण की कार्यक्षमता को बाद में [[फ़ायरफ़ॉक्स]], सफारी (वेब ​​ब्राउज़र), [[ओपेरा (वेब ​​ब्राउज़र)]], Google क्रोम और अन्य ब्राउज़रों द्वारा XMLHttpRequest JavaScript ऑब्जेक्ट के रूप में लागू किया गया था।<ref name="apple">{{cite web | url=https://developer.apple.com/internet/webcontent/xmlhttpreq.html | title=Dynamic HTML and XML: The XMLHttpRequest Object | publisher=Apple Inc. | access-date=25 June 2008 | archive-url=https://web.archive.org/web/20080509103519/http://developer.apple.com/internet/webcontent/xmlhttpreq.html | archive-date=9 May 2008 | url-status=live }}</ref> Microsoft ने [[Internet Explorer 7]] के रूप में मूल XMLHttpRequest मॉडल को अपनाया। ActiveX संस्करण अभी भी Internet Explorer में समर्थित है, लेकिन [[Microsoft Edge]] में नहीं। इन पृष्ठभूमि [[HTTP]] अनुरोधों और अतुल्यकालिक वेब तकनीकों की उपयोगिता तब तक काफी अस्पष्ट रही जब तक कि यह आउटलुक वेब एक्सेस (2000) जैसे बड़े पैमाने के ऑनलाइन अनुप्रयोगों में दिखाई देने लगी।<ref>{{Cite web|last=Hopmann|first=Alex|title=XMLHTTP की कहानी|url=http://www.alexhopmann.com/story-of-xmlhttp/|work=Alex Hopmann’s Blog|access-date=17 May 2010|url-status=dead|archive-url=https://web.archive.org/web/20100330150027/http://www.alexhopmann.com/story-of-xmlhttp/|archive-date=30 March 2010}}</ref> और [[अजीब पोस्ट]] (2002)।


[[गूगल]] ने [[ जीमेल लगीं ]] (2004) और [[ गूगल मानचित्र ]] (2005) के साथ मानक-अनुपालन, [[क्रॉस ब्राउज़र]] अजाक्स की व्यापक तैनाती की।<ref name="xhr-history">{{cite web | url=http://www.aaronsw.com/weblog/ajaxhistory | title=अजाक्स का एक संक्षिप्त इतिहास| publisher=Aaron Swartz | date=22 December 2005 | access-date=4 August 2009 | archive-url=https://web.archive.org/web/20100603063722/http://www.aaronsw.com/weblog/ajaxhistory | archive-date=3 June 2010 | url-status=live }}</ref> अक्टूबर 2004 में Kayak.com का सार्वजनिक बीटा रिलीज़ उन पहले बड़े पैमाने के ई-कॉमर्स उपयोगों में से एक था जिसे उस समय उनके डेवलपर्स ने xml http चीज़ कहा था।<ref>{{Cite web|last=English|first=Paul|title=कयाक यूजर इंटरफेस|url=http://kayaklabs.blogspot.com/2006/04/kayak-user-interface.html|work=Official Kayak.com Technoblog|date=12 April 2006|access-date=22 May 2014|archive-url=https://web.archive.org/web/20140523000633/http://kayaklabs.blogspot.com/2006/04/kayak-user-interface.html|archive-date=23 May 2014|url-status=live}}</ref> इसने वेब प्रोग्राम डेवलपर्स के बीच अजाक्स में रुचि बढ़ाई।
[[गूगल]] ने जीमेल (2004) और [[ गूगल मानचित्र |गूगल मैप्स]] (2005) के साथ मानक-अनुपालन, [[क्रॉस ब्राउज़र]] अजाक्स का व्यापक परिनियोजन किया।<ref name="xhr-history">{{cite web | url=http://www.aaronsw.com/weblog/ajaxhistory | title=अजाक्स का एक संक्षिप्त इतिहास| publisher=Aaron Swartz | date=22 December 2005 | access-date=4 August 2009 | archive-url=https://web.archive.org/web/20100603063722/http://www.aaronsw.com/weblog/ajaxhistory | archive-date=3 June 2010 | url-status=live }}</ref> अक्टूबर 2004 में Kayak.com का सार्वजनिक बीटा रिलीज़ उन पहले बड़े पैमाने के ई-कॉमर्स उपयोगों में से एक था जिसे उस समय उनके डेवलपर्स ने xml http चीज़ कहा था।<ref>{{Cite web|last=English|first=Paul|title=कयाक यूजर इंटरफेस|url=http://kayaklabs.blogspot.com/2006/04/kayak-user-interface.html|work=Official Kayak.com Technoblog|date=12 April 2006|access-date=22 May 2014|archive-url=https://web.archive.org/web/20140523000633/http://kayaklabs.blogspot.com/2006/04/kayak-user-interface.html|archive-date=23 May 2014|url-status=live}}</ref> इसने वेब प्रोग्राम डेवलपर्स के बीच अजाक्स में रुचि बढ़ाई।
 
AJAX शब्द का सार्वजनिक रूप से उपयोग 18 फरवरी 2005 को जेसी जेम्स गैरेट द्वारा अजाक्स ए न्यू अप्रोच टू वेब एप्लिकेशन नामक एक लेख में किया गया था, जो Google पेज पर उपयोग की जाने वाली तकनीकों पर आधारित है। <ref name="garrett">{{cite web | url=http://adaptivepath.org/ideas/ajax-new-approach-web-applications/ | title=Ajax: A New Approach to Web Applications | publisher=AdaptivePath.com | author=Jesse James Garrett | date=18 February 2005 | access-date=19 June 2008 | archive-url=https://web.archive.org/web/20150910072359/http://adaptivepath.org/ideas/ajax-new-approach-web-applications/ | archive-date=10 September 2015 | url-status=live }}</ref>
 
5 अप्रैल 2006 को, [[विश्वव्यापी वेब संकाय|वर्ल्ड वाइड वेब कंसोर्टियम]] (W3C) ने आधिकारिक [[वेब मानक]] बनाने के प्रयास में XMLHttpRequest ऑब्जेक्ट के लिए पहला प्रारुप विनिर्देश विमुक्त किया।<ref name="xhr-standard">{{cite web | url=http://www.w3.org/TR/2006/WD-XMLHttpRequest-20060405/ | title=XMLHttpRequest ऑब्जेक्ट| publisher=World Wide Web Consortium | date=5 April 2006 | access-date=25 June 2008 | archive-url=https://web.archive.org/web/20080516060525/http://www.w3.org/TR/2006/WD-XMLHttpRequest-20060405/ | archive-date=16 May 2008  | url-status= live | last1=van Kesteren | first1=Anne | last2=Jackson | first2=Dean | website=W3.org}}</ref>XMLHttpRequest ऑब्जेक्ट का नवीनतम प्रारुप 6 अक्टूबर 2016 को प्रकाशित हुआ था,<ref>{{cite web | last1=Kesteren | first1=Anne | last2=Aubourg | first2=Julian | last3=Song | first3=Jungkee | last4=Steen | first4=Hallvord R. M. | title=XMLHttpRequest स्तर 1| url=https://www.w3.org/TR/2016/NOTE-XMLHttpRequest-20161006/ | website=W3.org | publisher=W3C | access-date=2019-02-19 | archive-url=https://web.archive.org/web/20170713225915/https://www.w3.org/TR/2016/NOTE-XMLHttpRequest-20161006/ | archive-date=13 July 2017 | url-status=live }}</ref> और XMLHttpRequest विनिर्देश अब एक [[जीवित दस्तावेज़|जीवन स्तर]] है।<ref>{{Cite web|url=https://xhr.spec.whatwg.org/|title=XMLHttpRequest मानक|website=xhr.spec.whatwg.org|access-date=2020-04-21}}</ref>


AJAX शब्द का सार्वजनिक रूप से उपयोग 18 फरवरी 2005 को [[जेसी जेम्स गैरेट]] द्वारा Ajax: A New Approach to Web Applications नामक एक लेख में किया गया था, जो Google पृष्ठों पर उपयोग की जाने वाली तकनीकों पर आधारित है।<ref name="garrett">{{cite web | url=http://adaptivepath.org/ideas/ajax-new-approach-web-applications/ | title=Ajax: A New Approach to Web Applications | publisher=AdaptivePath.com | author=Jesse James Garrett | date=18 February 2005 | access-date=19 June 2008 | archive-url=https://web.archive.org/web/20150910072359/http://adaptivepath.org/ideas/ajax-new-approach-web-applications/ | archive-date=10 September 2015 | url-status=live }}</ref>
5 अप्रैल 2006 को, [[विश्वव्यापी वेब संकाय]] (W3C) ने आधिकारिक [[वेब मानक]] बनाने के प्रयास में XMLHttpRequest ऑब्जेक्ट के लिए पहला मसौदा विनिर्देश जारी किया।<ref name="xhr-standard">{{cite web | url=http://www.w3.org/TR/2006/WD-XMLHttpRequest-20060405/ | title=XMLHttpRequest ऑब्जेक्ट| publisher=World Wide Web Consortium | date=5 April 2006 | access-date=25 June 2008 | archive-url=https://web.archive.org/web/20080516060525/http://www.w3.org/TR/2006/WD-XMLHttpRequest-20060405/ | archive-date=16 May 2008  | url-status= live | last1=van Kesteren | first1=Anne | last2=Jackson | first2=Dean | website=W3.org}}</ref>
XMLHttpRequest ऑब्जेक्ट का नवीनतम मसौदा 6 अक्टूबर 2016 को प्रकाशित हुआ था,<ref>{{cite web | last1=Kesteren | first1=Anne | last2=Aubourg | first2=Julian | last3=Song | first3=Jungkee | last4=Steen | first4=Hallvord R. M. | title=XMLHttpRequest स्तर 1| url=https://www.w3.org/TR/2016/NOTE-XMLHttpRequest-20161006/ | website=W3.org | publisher=W3C | access-date=2019-02-19 | archive-url=https://web.archive.org/web/20170713225915/https://www.w3.org/TR/2016/NOTE-XMLHttpRequest-20161006/ | archive-date=13 July 2017 | url-status=live }}</ref> और XMLHttpRequest विनिर्देश अब एक [[जीवित दस्तावेज़]] है।<ref>{{Cite web|url=https://xhr.spec.whatwg.org/|title=XMLHttpRequest मानक|website=xhr.spec.whatwg.org|access-date=2020-04-21}}</ref>




Line 85: Line 86:


=== उदाहरण प्राप्त करें ===
=== उदाहरण प्राप्त करें ===
प्राप्त किया गया मूल JavaScript API है।<ref>{{cite web |title=फ़ेच एपीआई - वेब एपीआई|url=https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API#Browser_compatibility |website=MDN |access-date=30 May 2019 |archive-url=https://web.archive.org/web/20190529085752/https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API#Browser_compatibility |archive-date=29 May 2019 |url-status=live }}</ref> [https://developers.google.com/web/ilt/pwa/working-with-the-fetch-api Google Developers Documentation] के अनुसार, Fetch पुराने XMLHttpRequest की तुलना में वेब अनुरोध करना और प्रतिक्रियाओं को हैंडल करना आसान बनाता है।
प्राप्त किया गया मूल JavaScript API है।<ref>{{cite web |title=फ़ेच एपीआई - वेब एपीआई|url=https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API#Browser_compatibility |website=MDN |access-date=30 May 2019 |archive-url=https://web.archive.org/web/20190529085752/https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API#Browser_compatibility |archive-date=29 May 2019 |url-status=live }}</ref> [https://developers.google.com/web/ilt/pwa/working-with-the-fetch-api Google Developers Documentation] के अनुसार, Fetch पुराने XMLHttpRequest की तुलना में वेब अनुरोध करना और प्रतिक्रियाओं को संभालना आसान बनाता है।


<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript">
Line 112: Line 113:


</syntaxhighlight>
</syntaxhighlight>
फ़ेच जावास्क्रिप्ट पर निर्भर करता है [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/वादा वादा]<code>fetch</code> e> विशिष्टता से भिन्न है <code>Ajax</code> निम्नलिखित महत्वपूर्ण तरीकों से:
फ़ेच जावास्क्रिप्ट की [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/वादा प्रतिज्ञा] पर निर्भर करता है।  फ़ेच <code>fetch के विनिर्देश Ajax</code>अजाक्स से निम्नलिखित महत्वपूर्ण तरीकों से भिन्न हैं:


* वादा से लौट आया <code>fetch()</code> प्रतिक्रिया HTTP 404 या 500 होने पर भी HTTP त्रुटि स्थिति पर अस्वीकार नहीं होगी। इसके बजाय, जैसे ही सर्वर शीर्षलेखों के साथ प्रतिक्रिया करता है, वादा सामान्य रूप से हल हो जाएगा (के साथ) <code>ok</code> यदि प्रतिक्रिया 200–299 की सीमा में नहीं है, तो प्रतिक्रिया की संपत्ति गलत पर सेट हो जाती है), और यह केवल नेटवर्क विफलता पर या किसी भी चीज़ के अनुरोध को पूरा होने से रोके जाने पर अस्वीकार कर देगी।
* वादा से लौट आया <code>fetch()</code> प्रतिक्रिया HTTP 404 या 500 होने पर भी HTTP त्रुटि स्थिति पर अस्वीकार नहीं होगी। इसके बजाय, जैसे ही सर्वर शीर्षलेखों के साथ प्रतिक्रिया करता है, वादा सामान्य रूप से हल हो जाएगा (के साथ) <code>ok</code> यदि प्रतिक्रिया 200–299 की सीमा में नहीं है, तो प्रतिक्रिया की संपत्ति गलत पर सेट हो जाती है), और यह केवल नेटवर्क विफलता पर या किसी भी चीज़ के अनुरोध को पूरा होने से रोके जाने पर अस्वीकार कर देगी।
* <code>fetch()</code> जब तक आप ''क्रेडेंशियल्स'' init विकल्प सेट नहीं करते हैं, तब तक क्रॉस-ऑरिजिन कुकीज़ नहीं भेजेंगे। (अप्रैल 2018 से। युक्ति ने डिफ़ॉल्ट क्रेडेंशियल नीति को बदल दिया है <code>same-origin</code>. फ़ायरफ़ॉक्स 61.0b13 से बदल गया है।)
* <code>fetch()</code>जब तक आप क्रेडेंशियल init विकल्प सेट नहीं करते हैं, तब तक लाने () क्रॉस-मूल कुकीज़ नहीं भेजेगा। (अप्रैल 2018 से युक्ति ने डिफ़ॉल्ट क्रेडेंशियल नीति को समान-मूल में बदल दिया। फ़ायरफ़ॉक्स 61.0b13 से बदल गया।)


== यह भी देखें ==
== यह भी देखें ==
* [[ ActionScript ]]
* [[ ActionScript |एक्शनस्क्रिप्ट]]
* [[धूमकेतु (प्रोग्रामिंग)]] (रिवर्स अजाक्स के रूप में भी जाना जाता है)
* [[धूमकेतु (प्रोग्रामिंग)|कोमेट (प्रोग्रामिंग)]] (रिवर्स अजाक्स के रूप में भी जाना जाता है)
* [[गूगल झटपट]]
* [[गूगल झटपट|गूगल इंस्टेंट]]
* एचटीटीपी/2
* एचटीटीपी/2
* [[अजाक्स ढांचे की सूची]]
* [[अजाक्स ढांचे की सूची|अजाक्स संरचना की सूची]]
* नोड.जेएस
* नोड.जेएस
* [[रिमोट स्क्रिप्टिंग]]
* [[रिमोट स्क्रिप्टिंग]]
* [[समृद्ध वेब अनुप्रयोग]]
* [[समृद्ध वेब अनुप्रयोग|रिच वेब एप्लीकेशन]]
* [[वेबसॉकेट]]
* [[वेबसॉकेट]]
* [[आप ऊब जाएंगे]] 5
* [[आप ऊब जाएंगे|एचटीएमएल 5]]
* [[वेब ढांचा]]
* [[वेब ढांचा|वेब]] [[अजाक्स ढांचे की सूची|संरचना]]
* [[ जावास्क्रिप्ट पुस्तकालय ]]
* [[ जावास्क्रिप्ट पुस्तकालय |जावास्क्रिप्ट संग्रह]]


== संदर्भ ==
== संदर्भ ==

Revision as of 21:06, 2 March 2023

Asynchronous JavaScript and XML
पहली प्रस्तुतिMarch 1999
फ़ाइल नाम एक्सटेंशनएस.js
फ़ाइल प्रारूपएसJavaScript
Influenced by
JavaScript and XML

अजाक्स (AJAX भी /ˈæks/; अतुल्यकालिक I/O जावास्क्रिप्ट और XML के लिए संक्षिप्त)[1][2] वेब डेवलपमेंट तकनीकों का एक समूह है जो अतुल्यकालिक वेब एप्लिकेशन बनाने के लिए क्लाइंट-साइड पर विभिन्न वेब तकनीकों का उपयोग करता है। अजाक्स के साथ वेब एप्लिकेशन उपस्थित पेज के प्रदर्शन और व्यवहार में हस्तक्षेप किए बिना वेब सर्वर से अतुल्यकालिक रूप से (पृष्ठभूमि में) डेटा प्रेषण और पुनर्प्राप्त कर सकते हैं। प्रेजेंटेशन लेयर से डेटा इंटरचेंज लेयर को पृथक करके, अजाक्स पूरे पेज को फिर से लोड करने की आवश्यकता के बिना सामग्री को गतिशील रूप से बदलने के लिए वेबपेज और, विस्तार से, वेब अनुप्रयोगों की अनुमति देता है।[3] कार्यप्रणाली में, आधुनिक कार्यान्वयन सामान्यतः XML की जगह JSON का उपयोग करते हैं।

अजाक्स एक तकनीक की अपेक्षाकृत एक प्रोग्रामिंग अवधारणा है। हाइपर टेक्स्ट मार्कअप लैंग्वेज और सीएसएस का उपयोग चिह्नित और शैलीबद्ध करने के संयोजन में किया जा सकता है। वेबपेज को गतिशील रूप से प्रदर्शित करने के लिए जावास्क्रिप्ट द्वारा संशोधित किया जा सकता है - और उपयोगकर्ता को नई जानकारी के साथ परस्पर प्रभाव करने की अनुमति देता है। अंतर्निहित XMLHttpRequest ऑब्जेक्ट का उपयोग वेबपृष्ठों पर अजाक्स निष्पादित करने के लिए किया जाता है, जिससे वेबसाइटों को पृष्ठ को रीफ्रेश किए बिना स्क्रीन पर सामग्री लोड करने की अनुमति मिलती है। अजाक्स कोई नई तकनीक या भाषा नहीं है। इसके अतिरिक्त यह उपस्थित तकनीकों का एक नए तरीके से उपयोग किया जाता है।

इतिहास

वर्ष 1990 के दशक के प्रारंभ से लेकर मध्य तक अधिकांश वेबसाइट संपूर्ण HTML पृष्ठों पर आधारित थीं। प्रत्येक उपयोगकर्ता कार्रवाई के लिए सर्वर से लोड होने के लिए एक पूर्ण नए पृष्ठ की आवश्यकता होती है। यह प्रक्रिया अक्षम थी जैसा कि उपयोगकर्ता अनुभव से परिलक्षित होता है: पृष्ठ की सभी सामग्री लुप्त हो जाती है और पुनः नया पृष्ठ प्रकट होता है। हर बार आंशिक परिवर्तन के कारण ब्राउज़र द्वारा किसी पृष्ठ को पुनः लोड करने पर, सभी सामग्री को फिर से भेजना पड़ता था, भले ही केवल कुछ जानकारी बदली गई थी। इसने सर्वर पर अतिरिक्त भार डाला और बैंडविड्थ (कंप्यूटिंग) को प्रदर्शन में एक सीमित कारक बना दिया।

वर्ष 1996 में, इंटरनेट एक्सप्लोरर द्वारा HTML आईफ्रेम टैग प्रस्तुत किया था;[4] HTML तत्व#छवियों और वस्तुओं तत्व की तरह, यह सामग्री को अतुल्यकालिक रूप से लोड या प्राप्त कर सकता है। 1998 में, Microsoft आउटलुक वेब एक्सेस टीम ने XMLHttpRequest स्क्रिप्टिंग ऑब्जेक्ट के पीछे की अवधारणा विकसित की।[5] यह MSXML लाइब्रेरी के दूसरे संस्करण में XMLHTTP के रूप में दिखाई दिया,[5][6] जिसे मार्च 1999 में इंटरनेट एक्सप्लोरर 5.0 के साथ भेज दिया गया।[7] IE 5 में Windows XMLHTTP ActiveX नियंत्रण की कार्यक्षमता को बाद में फ़ायरफ़ॉक्स, सफारी (वेब ​​ब्राउज़र), ओपेरा (वेब ​​ब्राउज़र), Google क्रोम और अन्य ब्राउज़रों द्वारा XMLHttpRequest JavaScript ऑब्जेक्ट के रूप में लागू किया गया था।[8] Microsoft ने Internet Explorer 7 के रूप में मूल XMLHttpRequest मॉडल को अपनाया। ActiveX संस्करण अभी भी Internet Explorer में समर्थित है, लेकिन Microsoft Edge में नहीं। इन पृष्ठभूमि HTTP अनुरोधों और अतुल्यकालिक वेब तकनीकों की उपयोगिता तब तक काफी अस्पष्ट रही जब तक कि यह आउटलुक वेब एक्सेस (2000) जैसे बड़े पैमाने के ऑनलाइन अनुप्रयोगों में दिखाई देने लगी।[9] और अजीब पोस्ट (2002)।

गूगल ने जीमेल (2004) और गूगल मैप्स (2005) के साथ मानक-अनुपालन, क्रॉस ब्राउज़र अजाक्स का व्यापक परिनियोजन किया।[10] अक्टूबर 2004 में Kayak.com का सार्वजनिक बीटा रिलीज़ उन पहले बड़े पैमाने के ई-कॉमर्स उपयोगों में से एक था जिसे उस समय उनके डेवलपर्स ने xml http चीज़ कहा था।[11] इसने वेब प्रोग्राम डेवलपर्स के बीच अजाक्स में रुचि बढ़ाई।

AJAX शब्द का सार्वजनिक रूप से उपयोग 18 फरवरी 2005 को जेसी जेम्स गैरेट द्वारा अजाक्स ए न्यू अप्रोच टू वेब एप्लिकेशन नामक एक लेख में किया गया था, जो Google पेज पर उपयोग की जाने वाली तकनीकों पर आधारित है। [1]

5 अप्रैल 2006 को, वर्ल्ड वाइड वेब कंसोर्टियम (W3C) ने आधिकारिक वेब मानक बनाने के प्रयास में XMLHttpRequest ऑब्जेक्ट के लिए पहला प्रारुप विनिर्देश विमुक्त किया।[12]XMLHttpRequest ऑब्जेक्ट का नवीनतम प्रारुप 6 अक्टूबर 2016 को प्रकाशित हुआ था,[13] और XMLHttpRequest विनिर्देश अब एक जीवन स्तर है।[14]


प्रौद्योगिकी

वेब अनुप्रयोग बनाम अजाक्स का उपयोग करने वाले एप्लिकेशन के लिए पारंपरिक मॉडल

अजाक्स शब्द वेब प्रौद्योगिकियों के एक व्यापक समूह का प्रतिनिधित्व करने के लिए आया है जिसका उपयोग वेब एप्लिकेशन को लागू करने के लिए किया जा सकता है जो पेज की वर्तमान स्थिति में हस्तक्षेप किए बिना पृष्ठभूमि में एक सर्वर के साथ संचार करता है। अजाक्स शब्द गढ़ने वाले लेख में, जेसी जेम्स गैरेट ने समझाया कि निम्नलिखित तकनीकों को सम्मिलित किया गया है:[1][3]

  • एचटीएमएल (या एक्सएचटीएमएल) और सीएसएस प्रस्तुति के लिए
  • डॉक्यूमेंटऑब्जेक्ट मॉडल (DOM) डेटा के गतिशील प्रदर्शन और सहभागिता के लिए
  • डेटा के आदान-प्रदान के लिए JSON या XML और XML परिचालन के लिए XSLT
  • अतुल्यकालिक संचार के लिए XMLHttpRequest उद्देश्य
  • इन तकनीकों को एक साथ लाने के लिए जावास्क्रिप्ट

हालांकि तब से, अजाक्स एप्लिकेशन में उपयोग की जाने वाली तकनीकों में और अजाक्स शब्द की परिभाषा में कई विकास हुए हैं। इसलिए अब डेटा इंटरचेंज के लिए XML और डेटा के परिचालन के लिए XSLT की आवश्यकता नहीं है। जावास्क्रिप्ट ऑब्जेक्ट नोटेशन (JSON) को प्रायः डेटा इंटरचेंज के लिए एक वैकल्पिक प्रारूप के रूप में उपयोग किया जाता है,[15] हालांकि अन्य प्रारूप जैसे पूर्वनिर्मित HTML या प्लेन टेक्स्ट का भी उपयोग किया जा सकता है।[16] JQuery सहित विभिन्न प्रकार की लोकप्रिय जावास्क्रिप्ट लाइब्रेरी में अजाक्स अनुरोधों को निष्पादित करने में सहायता के लिए संक्षेपण सम्मिलित हैं।

उदाहरण

जावास्क्रिप्ट उदाहरण

जावास्क्रिप्ट में लिखित GET (HTTP) पद्धति का उपयोग करते हुए एक साधारण अजाक्स अनुरोध का एक उदाहरण।

get-AJAX-data.js:

// This is the client-side script.

// Initialize the HTTP request.
let xhr = new XMLHttpRequest();
// define the request
xhr.open('GET', 'send-ajax-data.php');

// Track the state changes of the request.
xhr.onreadystatechange = function () {
	const DONE = 4; // readyState 4 means the request is done.
	const OK = 200; // status 200 is a successful return.
	if (xhr.readyState === DONE) {
		if (xhr.status === OK) {
			console.log(xhr.responseText); // 'This is the output.'
		} else {
			console.log('Error: ' + xhr.status); // An error occurred during the request.
		}
	}
};

// Send the request to send-ajax-data.php
xhr.send(null);

भेजें-AJAX-data.php:

<?php
// This is the server-side script.

// Set the content type.
header('Content-Type: text/plain');

// Send the data back.
echo "This is the output.";
?>


उदाहरण प्राप्त करें

प्राप्त किया गया मूल JavaScript API है।[17] Google Developers Documentation के अनुसार, Fetch पुराने XMLHttpRequest की तुलना में वेब अनुरोध करना और प्रतिक्रियाओं को संभालना आसान बनाता है।

fetch('send-ajax-data.php')
    .then(data => console.log(data))
    .catch (error => console.log('Error:' + error));


ES7 async/प्रतीक्षा उदाहरण

async function doAjax1() {
    try {
        const res = await fetch('send-ajax-data.php');
        const data = await res.text();
        console.log(data);
    } catch (error) {
        console.log('Error:' + error);
    }
}

doAjax1();

फ़ेच जावास्क्रिप्ट की प्रतिज्ञा पर निर्भर करता है। फ़ेच fetch के विनिर्देश Ajaxअजाक्स से निम्नलिखित महत्वपूर्ण तरीकों से भिन्न हैं:

  • वादा से लौट आया fetch() प्रतिक्रिया HTTP 404 या 500 होने पर भी HTTP त्रुटि स्थिति पर अस्वीकार नहीं होगी। इसके बजाय, जैसे ही सर्वर शीर्षलेखों के साथ प्रतिक्रिया करता है, वादा सामान्य रूप से हल हो जाएगा (के साथ) ok यदि प्रतिक्रिया 200–299 की सीमा में नहीं है, तो प्रतिक्रिया की संपत्ति गलत पर सेट हो जाती है), और यह केवल नेटवर्क विफलता पर या किसी भी चीज़ के अनुरोध को पूरा होने से रोके जाने पर अस्वीकार कर देगी।
  • fetch()जब तक आप क्रेडेंशियल init विकल्प सेट नहीं करते हैं, तब तक लाने () क्रॉस-मूल कुकीज़ नहीं भेजेगा। (अप्रैल 2018 से युक्ति ने डिफ़ॉल्ट क्रेडेंशियल नीति को समान-मूल में बदल दिया। फ़ायरफ़ॉक्स 61.0b13 से बदल गया।)

यह भी देखें

संदर्भ

  1. 1.0 1.1 1.2 Jesse James Garrett (18 February 2005). "Ajax: A New Approach to Web Applications". AdaptivePath.com. Archived from the original on 10 September 2015. Retrieved 19 June 2008.
  2. "अजाक्स - वेब डेवलपर गाइड". MDN Web Docs. Archived from the original on 28 February 2018. Retrieved 27 February 2018.
  3. 3.0 3.1 Ullman, Chris (March 2007). अजाक्स शुरू करना. wrox. ISBN 978-0-470-10675-4. Archived from the original on 5 July 2008. Retrieved 24 June 2008.
  4. Joita, Alin (1 January 2011). "DISADVANTAGES PRESENTED BY HTML INLINE FRAMES IN INTEGRATION OF 3rd PARTY CONTENT". {{cite journal}}: Cite journal requires |journal= (help)
  5. 5.0 5.1 "मूल डेवलपर द्वारा XMLHTTP के इतिहास पर लेख". Alexhopmann.com. 31 January 2007. Archived from the original on 23 June 2007. Retrieved 14 July 2009.
  6. "Microsoft डेवलपर नेटवर्क से IXMLHTTPRequest इंटरफ़ेस की विशिष्टता". Msdn.microsoft.com. Archived from the original on 26 May 2016. Retrieved 14 July 2009.
  7. Dutta, Sunava (23 January 2006). "नेटिव XMLHTTPRequest ऑब्जेक्ट". IEBlog. Microsoft. Archived from the original on 6 March 2010. Retrieved 30 November 2006.
  8. "Dynamic HTML and XML: The XMLHttpRequest Object". Apple Inc. Archived from the original on 9 May 2008. Retrieved 25 June 2008.
  9. Hopmann, Alex. "XMLHTTP की कहानी". Alex Hopmann’s Blog. Archived from the original on 30 March 2010. Retrieved 17 May 2010.
  10. "अजाक्स का एक संक्षिप्त इतिहास". Aaron Swartz. 22 December 2005. Archived from the original on 3 June 2010. Retrieved 4 August 2009.
  11. English, Paul (12 April 2006). "कयाक यूजर इंटरफेस". Official Kayak.com Technoblog. Archived from the original on 23 May 2014. Retrieved 22 May 2014.
  12. van Kesteren, Anne; Jackson, Dean (5 April 2006). "XMLHttpRequest ऑब्जेक्ट". W3.org. World Wide Web Consortium. Archived from the original on 16 May 2008. Retrieved 25 June 2008.
  13. Kesteren, Anne; Aubourg, Julian; Song, Jungkee; Steen, Hallvord R. M. "XMLHttpRequest स्तर 1". W3.org. W3C. Archived from the original on 13 July 2017. Retrieved 19 February 2019.
  14. "XMLHttpRequest मानक". xhr.spec.whatwg.org. Retrieved 21 April 2020.
  15. "जावास्क्रिप्ट ऑब्जेक्ट नोटेशन". Apache.org. Archived from the original on 16 June 2008. Retrieved 4 July 2008.
  16. "JSON के साथ अपने अजाक्स-आधारित ऐप्स को गति दें". DevX.com. Archived from the original on 4 July 2008. Retrieved 4 July 2008.
  17. "फ़ेच एपीआई - वेब एपीआई". MDN. Archived from the original on 29 May 2019. Retrieved 30 May 2019.


बाहरी संबंध