Ajax (programming)
अजाक्स (अजाक्स भी; "एसिंक्रोनस जावास्क्रिप्ट और एक्स. एम. एल". के लिए छोटा) वेब विकास तकनीकों का एक समूह है जो एसिंक्रोनस वेब एप्लिकेशन बनाने के लिए क्लाइंट-साइड पर विभिन्न वेब तकनीकों का उपयोग करता है। अजाक्स के साथ, वेब अनुप्रयोग मौजूदा पृष्ठ के प्रदर्शन और व्यवहार में हस्तक्षेप किए बिना सर्वर से डेटा को अतुल्यकालिक रूप से (पृष्ठभूमि में) भेज और पुनर्प्राप्त कर सकते हैं। प्रेजेंटेशन लेयर से डेटा इंटरचेंज लेयर को अलग करके, अजाक्स वेब पेजों और विस्तार से, वेब अनुप्रयोगों को पूरे पेज को फिर से लोड करने की आवश्यकता के बिना सामग्री को गतिशील रूप से बदलने की अनुमति देता है। व्यवहार में, आधुनिक कार्यान्वयन आमतौर पर एक्स. एम. एल. के बजाय जे. एस. ओ. एन. का उपयोग करते हैं। अजाक्स एक तकनीक नहीं है, बल्कि एक प्रोग्रामिंग अवधारणा है। एच. टी. एम. एल. और सी. एस. एस. का उपयोग जानकारी को चिह्नित करने और शैली बनाने के लिए संयोजन में किया जा सकता है। वेबपृष्ठ को जावास्क्रिप्ट द्वारा गतिशील रूप से प्रदर्शित करने के लिए संशोधित किया जा सकता है-और उपयोगकर्ता को नई जानकारी के साथ बातचीत करने की अनुमति देता है। बिल्ट-इन एक्स. एम. एल. एच. टी. टी. पी. आरक्वेस्ट ऑब्जेक्ट का उपयोग वेबपृष्ठों पर अजाक्स को निष्पादित करने के लिए किया जाता है, जिससे वेबसाइटों को पृष्ठ को ताज़ा किए बिना स्क्रीन पर सामग्री लोड करने की अनुमति मिलती है। अजाक्स कोई नई तकनीक नहीं है, न ही यह कोई नई भाषा है। इसके बजाय, यह एक नए तरीके से उपयोग की जाने वाली मौजूदा तकनीकें हैं। इतिहास 1990 के दशक की शुरुआत से मध्य तक, अधिकांश वेबसाइटें पूर्ण एच. टी. एम. एल. पृष्ठों पर आधारित थीं। प्रत्येक उपयोगकर्ता कार्रवाई के लिए सर्वर से एक पूर्ण नए पृष्ठ को लोड करने की आवश्यकता होती है। यह प्रक्रिया अक्षम थी, जैसा कि उपयोगकर्ता अनुभव से परिलक्षित होता हैः सभी पृष्ठ सामग्री गायब हो गई, फिर नया पृष्ठ दिखाई दिया। हर बार जब ब्राउज़र ने आंशिक परिवर्तन के कारण किसी पृष्ठ को फिर से लोड किया, तो सभी सामग्री को फिर से भेजना पड़ा, भले ही केवल कुछ जानकारी बदल गई थी। इसने सर्वर पर अतिरिक्त भार डाला और बैंडविड्थ को प्रदर्शन में एक सीमित कारक बना दिया। 1996 में, आई. एफ. आर. एम. टैग को इंटरनेट एक्सप्लोरर द्वारा पेश किया गया था; ऑब्जेक्ट तत्व की तरह, यह सामग्री को अतुल्यकालिक रूप से लोड या प्राप्त कर सकता है। 1998 में, माइक्रोसॉफ्ट आउटलुक वेब एक्सेस टीम ने एक्सएमएलएचटीटीपीआरक्वेस्ट स्क्रिप्टिंग ऑब्जेक्ट के पीछे की अवधारणा विकसित की। यह एम. एस. एक्स. एम. एल. पुस्तकालय के दूसरे संस्करण में एक्स. एम. एल. एच. टी. टी. पी. के रूप में दिखाई दिया, जिसे मार्च 1999 में इंटरनेट एक्सप्लोरर 5 के साथ भेजा गया था। आईई 5 में विंडोज एक्सएमएलएचटीटीपी एक्टिवएक्स नियंत्रण की कार्यक्षमता को बाद में मोज़िला फ़ायरफ़ॉक्स, सफारी, ओपेरा, गूगल क्रोम और अन्य ब्राउज़रों द्वारा एक्सएमएलएचटीटीपीआरक्वेस्ट जावास्क्रिप्ट ऑब्जेक्ट के रूप में लागू किया गया था। माइक्रोसॉफ्ट ने इंटरनेट एक्सप्लोरर 7 के रूप में मूल एक्सएमएलएचटीटीपीआरक्वेस्ट मॉडल को अपनाया। एक्टिवएक्स संस्करण अभी भी इंटरनेट एक्सप्लोरर में समर्थित है, लेकिन माइक्रोसॉफ्ट एज में नहीं। इन पृष्ठभूमि एच. टी. टी. पी. अनुरोधों और अतुल्यकालिक वेब प्रौद्योगिकियों की उपयोगिता तब तक काफी अस्पष्ट रही जब तक कि यह आउटलुक वेब एक्सेस (2000) और ऑडपोस्ट (2002) जैसे बड़े पैमाने पर ऑनलाइन अनुप्रयोगों में दिखाई देने लगी। गूगल ने जीमेल (2004) और गूगल मैप्स (2005) के साथ मानकों के अनुरूप, क्रॉस ब्राउज़र अजाक्स की व्यापक तैनाती की। अक्टूबर 2004 में Kayak.com का सार्वजनिक बीटा रिलीज़ पहले बड़े पैमाने पर ई-कॉमर्स उपयोगों में से एक था जिसे उनके डेवलपर्स उस समय "एक्स. एम. एल. एच. टी. टी. पी चीज़" कहते थे। इससे वेब प्रोग्राम डेवलपर्स के बीच अजाक्स में रुचि बढ़ी। एजेक्स शब्द का उपयोग सार्वजनिक रूप से 18 फरवरी 2005 को जेसी जेम्स गैरेट द्वारा गूगल पृष्ठों पर उपयोग की जाने वाली तकनीकों के आधार पर एजेक्सः ए न्यू अप्रोच टू वेब एप्लीकेशन नामक एक लेख में किया गया था। 5 अप्रैल 2006 को, वर्ल्ड वाइड वेब कंसोर्टियम (डब्ल्यू3सी) ने एक आधिकारिक वेब मानक बनाने के प्रयास में एक्सएमएलएचटीटीपीआरक्वेस्ट ऑब्जेक्ट के लिए पहला मसौदा विनिर्देश जारी किया। एक्स. एम. एल. एच. टी. टी. पी. आरक्वेस्ट ऑब्जेक्ट का नवीनतम मसौदा 6 अक्टूबर 2016 को प्रकाशित किया गया था, और एक्स. एम. एल. एच. टी. टी. पी. आरक्वेस्ट विनिर्देश अब एक जीवन मानक है। एजेक्स शब्द वेब प्रौद्योगिकियों के एक व्यापक समूह का प्रतिनिधित्व करने के लिए आया है जिसका उपयोग एक वेब एप्लिकेशन को लागू करने के लिए किया जा सकता है जो पृष्ठ की वर्तमान स्थिति में हस्तक्षेप किए बिना पृष्ठभूमि में एक सर्वर के साथ संवाद करता है। अजाक्स शब्द बनाने वाले लेख में, जेसी जेम्स गैरेट ने समझाया कि निम्नलिखित तकनीकों को शामिल किया गया हैः एच. टी. एम. एल. (या एक्स. एच. टी. एम. एल.) और प्रस्तुति के लिए सी. एस. एस. डेटा के आदान-प्रदान के लिए जे. एस. ओ. एन. या एक्स. एम. एल. के गतिशील प्रदर्शन और डेटा के साथ बातचीत के लिए दस्तावेज़ ऑब्जेक्ट मॉडल (डी. ओ. एम.), और एक्स. एम. एल. हेरफेर के लिए एक्स. एस. एल. टी. इन तकनीकों को एक साथ लाने के लिए अतुल्यकालिक संचार जावास्क्रिप्ट के लिए एक्स. एम. एल. एच. टी. टी. पी. आरक्वेस्ट ऑब्जेक्ट तब से, हालांकि, अजाक्स अनुप्रयोग में उपयोग की जाने वाली तकनीकों में कई विकास हुए हैं, और अजाक्स शब्द की परिभाषा में ही। डेटा के आदान-प्रदान के लिए अब एक्स. एम. एल. की आवश्यकता नहीं है और इसलिए, डेटा के हेरफेर के लिए अब एक्स. एस. एल. टी. की आवश्यकता नहीं है। जावास्क्रिप्ट ऑब्जेक्ट नोटेशन (जे. एस. ओ. एन.) का उपयोग अक्सर डेटा इंटरचेंज के लिए एक वैकल्पिक प्रारूप के रूप में किया जाता है, हालांकि अन्य प्रारूप जैसे कि पूर्व-प्रारूपित एच. टी. एम. एल. या सादे पाठ का भी उपयोग किया जा सकता है। जेक्वेरी सहित विभिन्न प्रकार के लोकप्रिय जावास्क्रिप्ट पुस्तकालयों में अजाक्स अनुरोधों को निष्पादित करने में सहायता के लिए सार शामिल हैं। उदाहरण जावास्क्रिप्ट उदाहरण जावास्क्रिप्ट में लिखित जी. ई. टी. विधि का उपयोग करते हुए एक सरल अजाक्स अनुरोध का एक उदाहरण है। get-ajax-data.js:// यह क्लाइंट-साइड स्क्रिप्ट है। //एच. टी. टी. पी. अनुरोध प्रारंभ करें। माना xhr = नया XMLHttpRequest ();// अनुरोध को परिभाषित करें xhr.open ('GET', 'send-ajax-data.php');// अनुरोध के स्थिति परिवर्तनों को ट्रैक करें। xhr.onreadystatechange = फलन () {स्थिरांक किया गया = 4;// तैयार स्थिति 4 का अर्थ है अनुरोध किया गया है। स्थिरांक ठीक = 200;// स्थिति 200 एक सफल वापसी है। यदि (xhr.readyState = = = किया गया) {यदि (xhr.status = = ठीक है) {console.log (xhr.responseText);// 'यह आउटपुट है।' } अन्यथा {console.log ('त्रुटिः' + xhr.status);// अनुरोध के दौरान एक त्रुटि हुई। }};// अनुरोध को send-ajax-data.php xhr.send (शून्य) पर भेजें; send-ajax-data.php: <? Php// यह सर्वर-साइड स्क्रिप्ट है। //विषय-वस्तु का प्रकार निर्धारित करें। हेडर ('सामग्री-प्रकारः पाठ/सादा');// डेटा वापस भेजें। echo "यह आउटपुट है। ";?> उदाहरण प्राप्त करें Fetch एक देशी जावास्क्रिप्ट API है। गूगल डेवलपर्स डॉक्यूमेंटेशन के अनुसार, "पुराने एक्सएमएलएचटीटीपीआरक्वेस्ट की तुलना में वेब अनुरोध करना और प्रतिक्रियाओं को संभालना आसान बनाता है।" fetch ('send-ajax-data.php'). फिर (डेटा => console.log (डेटा)). कैच (एरर => console.log ('एररः' + एरर)); ES7 एसिंक/वेइट इग्ज़ाम्पल एसिंक फंक्शन डोएजैक्स1 () {ट्राई {कॉन्स्ट रेस = वेइट फैच ('send-ajax-data.php'); कॉन्स्ट डेटा = वेइट res.text (); console.log (डेटा);} कैच (एरर) {console.log ('एररः' + एरर);} डोएजैक्स1 (); फेच जावास्क्रिप्ट वादों पर निर्भर करता है। फेच विनिर्देश अजाक्स से निम्नलिखित महत्वपूर्ण तरीकों से अलग हैः फेच () से वापस किया गया वादा एचटीटीपी त्रुटि स्थिति पर अस्वीकार नहीं करेगा, भले ही प्रतिक्रिया एचटीटीपी 404 या 500 हो। इसके बजाय, जैसे ही सर्वर हेडर के साथ जवाब देता है, वादा सामान्य रूप से हल हो जाएगा (प्रतिक्रिया के ठीक गुण के साथ गलत पर सेट किया जाएगा यदि प्रतिक्रिया 200-299 सीमा में नहीं है), और यह केवल नेटवर्क विफलता पर अस्वीकार कर देगा या यदि कुछ भी अनुरोध को पूरा करने से रोकता है। जब तक आप क्रेडेंशियल्स init विकल्प सेट नहीं करते हैं, तब तक fetch () क्रॉस-ओरिजिन कुकीज़ नहीं भेजेगा। (अप्रैल 2018 से। स्पेक ने डिफ़ॉल्ट क्रेडेंशियल्स नीति को समान मूल में बदल दिया। फ़ायरफ़ॉक्स 61.0b13 के बाद से बदल गया है।) बेनेफिट्स अजाक्स कई लाभ प्रदान करता है जो वेब अनुप्रयोग प्रदर्शन और उपयोगकर्ता अनुभव को काफी बढ़ा सकते हैं। सर्वर ट्रैफिक को कम करके और गति में सुधार करके, अजाक्स आधुनिक वेब विकास में महत्वपूर्ण भूमिका निभाता है। अजाक्स का एक प्रमुख लाभ डेटा पुनर्प्राप्ति की आवश्यकता के बिना वेब अनुप्रयोगों को प्रस्तुत करने की इसकी क्षमता है, जिसके परिणामस्वरूप सर्वर ट्रैफ़िक कम हो जाता है। यह अनुकूलन सर्वर और ग्राहक दोनों पक्षों पर प्रतिक्रिया समय को कम करता है, जिससे उपयोगकर्ताओं को लोडिंग स्क्रीन को सहन करने की आवश्यकता समाप्त हो जाती है। इसके अलावा, अजाक्स एक्सएमएलएचटीटीपीआरक्वेस्ट के उपयोग को सरल बनाकर अतुल्यकालिक प्रसंस्करण की सुविधा प्रदान करता है, जो अतुल्यकालिक डेटा पुनर्प्राप्ति के अनुरोधों को कुशलता से संभालने में सक्षम बनाता है। इसके अतिरिक्त, सामग्री की गतिशील लोडिंग एप्लिकेशन के प्रदर्शन को काफी बढ़ाती है। इसके अलावा, अजाक्स को सभी प्रमुख वेब ब्राउज़रों में व्यापक समर्थन प्राप्त है। आप विभिन्न ब्राउज़रों का उपयोग करके इन दस्तावेज़ों तक पहुँच सकते हैं, जिनमें माइक्रोसॉफ्ट इंटरनेट एक्सप्लोरर संस्करण 5 और उससे ऊपर, मोज़िला फ़ायरफ़ॉक्स संस्करण 1 और उससे आगे, ओपेरा संस्करण 7.6 और उससे ऊपर, और ऐप्पल सफ़ारी संस्करण 1.2 और उससे ऊपर शामिल हैं। कई ब्राउज़रों के साथ निर्बाध रूप से काम करने की इसकी क्षमता विभिन्न प्लेटफार्मों पर वेब पेज के प्रदर्शन को बढ़ाती है। एक्शनस्क्रिप्ट धूमकेतु (प्रोग्रामिंग) (जिसे रिवर्स अजाक्स के रूप में भी जाना जाता है) गूगल इंस्टेंट एचटीटीपी/2 अजाक्स फ्रेमवर्क की सूची रिमोट स्क्रिप्टिंग रिच वेब एप्लिकेशन वेबसॉकेट एचटीएमएल5 वेब फ्रेमवर्क जावास्क्रिप्ट लाइब्रेरी संदर्भ बाहरी लिंक अजाक्सः वेब अनुप्रयोगों के लिए एक नया दृष्टिकोण-लेख जिसने अजाक्स शब्द और जीईटी, पोस्ट, पाठ और एक्सएमएल उदाहरणों के साथ क्यू एंड ए अजाक्स ट्यूटोरियल गढ़ा। क्लाउड मानक अंतर-प्रक्रिया संचार वेब 2 नवविज्ञान वेब विकास लेख उदाहरण के साथ जावास्क्रिप्ट कोड लेख उदाहरण के साथ पीएचपी कोड