डिफ़ॉल्ट रूप से, jQuery में $ .ajax अनुरोध एसिंक्रोनस पर सेट है। परिवर्तनीय नाम async है और मान सत्य पर सेट है। इसने मुझे इसके बारे में पहले सीखने के साथ-साथ थोड़ा उलझन दिया, तो चलो इसे आगे बढ़ें।
असीमित बनाम सिंक्रोनस
JQuery में डिफ़ॉल्ट सेटिंग। मेरे अनुभव में, असिंक्रोनस लगभग हमेशा चाल करना चाहिए। विशेष रूप से 2 स्थितियां भी हैं जो सिंक्रोनस कॉल की अनुमति भी नहीं देती हैं।
- क्रॉस डोमेन अनुरोध। अगर मैं tejjunkie.com से whejver.com (एक पूरी तरह से अलग डोमेन) पर एक फ़ाइल में AJAX अनुरोध कर रहा हूं, तो यह एक क्रॉस डोमेन अनुरोध होगा।
- jsonp - यदि आप JSON डेटा क्रॉस-डोमेन पुनर्प्राप्त करना चाहते हैं, तो JSONP वह है जिसे आप ढूंढ रहे हैं।
सिंक्रोनस का उपयोग कब करें
आपको सबसे पहले जागरूक होना चाहिए कि झूठ को एसिंक सेट करना आपके ब्राउज़र को फ्रीज करता है। यह पूरी तरह से इसे ताला लगा देता है। न सिर्फ आपका पृष्ठ, बल्कि प्रत्येक पृष्ठ जिसे उपयोगकर्ता खोल सकता है। उदाहरण के लिए, यदि आपका सर्वर मध्य अनुरोध को धीमा कर देता है, तो आपने अपने ब्राउज़र को तब तक प्रभावी ढंग से अक्षम कर दिया है जब तक आपके सर्वर को पकड़ने और आवश्यक डेटा के साथ पास करने का मौका न हो।
सिंक्रोनस कॉल के साथ इसे जोखिम देने के बजाय, सफलता या त्रुटि पर केवल कॉलबैक फ़ंक्शन निर्दिष्ट करें। उपयोगकर्ता के ब्राउजिंग अनुभव को बर्बाद किए बिना आप एक ही एंडपॉइंट पर पहुंच जाते हैं। संक्षेप में, एक तुल्यकालिक कॉल का उपयोग न करें। आपके आवेदन और यूएक्स के लिए यह बुरा है।