दिलचस्प पोस्ट
नेट में लेनदेन पायथन मिश्रित पूर्णांक रैखिक प्रोग्रामिंग एसएसई पूर्णांक प्रभाग? कॉलिंग थ्रेड एसटीए होना चाहिए, क्योंकि कई यूआई घटकों को यह आवश्यकता है AndroidHttpClient के लिए डिफ़ॉल्ट एचटीटीपी क्लाइंट त्रुटि "फ़ाइल google-services.json मॉड्यूल रूट फ़ोल्डर से अनुपलब्ध है Google सेवा प्लगिन इसके बिना काम नहीं कर सकता " अक्षांश / लोन से पिक्सेल समन्वय को परिवर्तित करें? डोज मोड एंड्रॉइड 6.0 में श्वेतसूची ऐप कैसे करें जावास्क्रिप्ट क्वेरी स्ट्रिंग Windows DLL संस्करण को डंप करने के लिए कमांड लाइन टूल? जावास्क्रिप्ट / जेक्यू पेज पुनः लोड होने तक काम नहीं कर रहा है एंड्रॉइड में अस्थायी फाइल बनाना यूनिक्स शेल स्क्रिप्ट में पर्यावरण चर की जांच करने के लिए एक संक्षिप्त तरीका क्या है? सिकलाइट डेटाबेस एंड्रॉइड से अंतिम डाला मूल्य प्राप्त करें आईफोन एसडीके – पारदर्शिता के साथ वीडियो कैसे खेलें?

jQuery: तुल्यकालिक AJAX अनुरोध प्रदर्शन

मैंने अतीत में कुछ jQuery किया है, लेकिन मैं पूरी तरह इस पर फंस गया हूँ। मैं सिंक्रोनस एजेक्स कॉल्स के उपयोग के पेशेवरों और विपक्षों के बारे में जानता हूं, लेकिन यहां इसकी आवश्यकता होगी।

रिमोट पृष्ठ लोड किया जाता है (फायरबग से नियंत्रित), लेकिन कोई रिटर्न नहीं दिखाया गया है।

अपने फ़ंक्शन को ठीक से वापस करने के लिए मुझे क्या करना चाहिए?

function getRemote() { var remote; $.ajax({ type: "GET", url: remote_url, async: false, success : function(data) { remote = data; } }); return remote; } 

वेब के समाधान से एकत्रित समाधान "jQuery: तुल्यकालिक AJAX अनुरोध प्रदर्शन"

जैसा कि आप एक तुल्यकालिक अनुरोध कर रहे हैं, यह होना चाहिए

 function getRemote() { return $.ajax({ type: "GET", url: remote_url, async: false }).responseText; } 

उदाहरण – http://api.jquery.com/jQuery.ajax/#example-3

कृपया ध्यान दें: async संपत्ति को गलत पर सेट करना और हटाया जाने की प्रक्रिया में ( लिंक ) हटा दिया गया है। फ़ायरफ़ॉक्स और क्रोम सहित कई ब्राउज़र कंसोल में एक चेतावनी मुद्रित करना शुरू कर चुके हैं यदि आप इसका उपयोग करते हैं:

क्रोम:

मुख्य थ्रेड पर सिंक्रोनस XMLHttpRequest उसे समाप्त उपयोगकर्ता के अनुभव के लिए हानिकारक प्रभावों के कारण पदावनत किया गया है। अधिक सहायता के लिए, https://xhr.spec.whatwg.org/ की जांच करें ।

फ़ायरफ़ॉक्स:

मुख्य थ्रेड पर सिंक्रोनस XMLHttpRequest उसे समाप्त उपयोगकर्ता के अनुभव के लिए हानिकारक प्रभावों के कारण पदावनत किया गया है। अधिक सहायता के लिए http://xhr.spec.whatwg.org/

मैं सचमुच से नफरत करता हूं "मैं इसका उपयोग नहीं करता हूं या इसके साथ सहमत नहीं हूं ताकि आपको इसका इस्तेमाल न करें" लगभग हानिकारक निबंध के रूप में माना जाने वाला बुरा। जो मुझे लोगों की याद दिलाता है कि उनके आईडीई वरीयता के आधार पर एकल बनाम दोहरे उद्धरण चिह्नों पर बहस करते हैं, जब दोनों वास्तव में मानकों में फिट होते हैं।

मेरे पास एक एजेक्स समस्या थी जिसे केवल async: false, जोड़कर हल किया गया था async: false, लिए इस सुविधा के बहिष्कार (और निष्कासन) के लिए बहस करने के लिए एक बहाने के रूप में ब्राउज़र हैंग्स का उपयोग करना मूर्खतापूर्ण है आप कैसे जानते हैं कि किसी के तुल्यकालिक अजाक्स अनुरोध कब तक ले जाएगा? इन कॉलों के साथ हर कोई डेटा लोड या स्थानांतरित नहीं करता है

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

तुल्यकालिक अनुरोधों का बहिष्कार सभी वेब डेवलपर्स पर सजा है क्योंकि उनमें से कुछ इसे गैर जिम्मेदार रूप से प्रयोग कर रहे थे।

आप अजाक्स फ़ंक्शन गलत तरीके से उपयोग कर रहे हैं चूंकि यह तुल्यकालिक है इसलिए यह डेटा इनलाइन की तरह वापस लौटाएगा:

 var remote = $.ajax({ type: "GET", url: remote_url, async: false }).responseText; 

वह यूआरएल कितना दूर है? क्या यह उसी डोमेन से है? कोड ठीक दिखता है

इसे इस्तेमाल करे

 $.ajaxSetup({async:false}); $.get(remote_url, function(data) { remote = data; }); // or remote = $.get(remote_url).responseText; 
 function getRemote() { return $.ajax({ type: "GET", url: remote_url, async: false, success: function (result) { /* if result is a JSon object */ if (result.valid) return true; else return false; } }); } 

ये जांचें

 function getRemote() { //var remote; return $.ajax({ type: "GET", url: remote_url, async: false, success : function(data) { remote = data; } }); //return remote; }