यदि JSONP केवल गतिशील स्क्रिप्ट है, तो अनुरोध कब किया जाता है?

स्पष्ट रूप से jQuery.ajax का उपयोग कर JSONP अनुरोध वास्तव में असीमित नहीं है, बल्कि यह पृष्ठ पर एक स्क्रिप्ट टैग जोड़कर स्क्रिप्ट डोम एलिमेंट दृष्टिकोण का उपयोग करता है। मैंने पाया कि यहां से: https://groups.google .com/forum/#! विषय/jquery-dev/5-tKI-7zQvs , जो कहता है:

क्रॉस-डोमेन JSONP बिल्कुल AJAX नहीं है। यह XMLHttpRequest का उपयोग नहीं करता है।   यह एक गतिशील स्क्रिप्ट तत्व से अधिक कुछ नहीं है जो जावास्क्रिप्ट लोड करता है   कोड।

उस गतिशील स्क्रिप्ट तत्व को पृष्ठ लोड होने के बाद संसाधित किया जाता है (और JSONP के मामले में, इसका मतलब है कि कॉलबैक फ़ंक्शन को .ajax कॉल में उल्लिखित यूआरएल से जेएसओएन डेटा के पैरामीटर के साथ निष्पादित किया जाता है)।

तो अगर मेरे पास एक HTML वेब पेज में निम्न कोड था:

<script>
    jQuery(document).ready(function() {
        jQuery.ajax({dataType:'jsonp', data:'FIRST'...});
    });
</script>
<script>
    jQuery(document).ready(function() {
        jQuery.ajax({dataType:'jsonp', data:'SECOND'...});
    });
</script>

चीजों का क्रम क्या होगा?

यह या तो होगा:

(1) डीओएम में पहला अनुरोध करने के लिए स्क्रिप्ट टैग

(2) द्वितीय अनुरोध करने के लिए स्क्रिप्ट टैग डोम में जोड़ा गया

(3) पहला अनुरोध किया गया

(4) दूसरा अनुरोध किया गया

या:

(1) डीओएम में पहला अनुरोध करने के लिए स्क्रिप्ट टैग

(2) पहला अनुरोध किया गया

(3) द्वितीय अनुरोध करने के लिए स्क्रिप्ट टैग डोम में जोड़ा गया

(4) दूसरा अनुरोध किया गया

या शायद उपरोक्त में से कोई भी नहीं और मैं गलतफहमी कर रहा हूं?

धन्यवाद।

0
जोड़ा संपादित
विचारों: 1

1 उत्तर

स्पष्ट रूप से jQuery.ajax का उपयोग कर JSONP अनुरोध वास्तव में असीमित नहीं है

यह गलत है, वे हैं।

बल्कि यह पृष्ठ पर एक स्क्रिप्ट टैग जोड़कर स्क्रिप्ट डोम एलिमेंट दृष्टिकोण का उपयोग करता है।

यह सच है।

क्रॉस-डोमेन JSONP बिल्कुल AJAX नहीं है। यह XMLHttpRequest का उपयोग नहीं करता है।

XMLHttpRequest अजाक्स के लिए एक पूर्व शर्त नहीं है। (और एक्सएमएल या तो अजाक्स या एक्सएमएलएचटीपीआरक्वेट के लिए एक शर्त नहीं है (जिसे केवल एक्सएमएल के नाम पर मिला क्योंकि एक्सएमएल उस समय ठंडा था और डेवलपर्स को इसे उत्पाद में जोड़ने के लिए प्रबंधकों को मनाने के लिए जरूरी था))

चीजों का क्रम क्या होगा?

  1. पहली स्क्रिप्ट चलती है (एक तैयार ईवेंट हैंडलर बनाना)
  2. दूसरी स्क्रिप्ट चलती है (एक दूसरा तैयार ईवेंट हैंडलर बनाना)
  3. तैयार घटना आग लग जाएगी
  4. पहला डायनामिक स्क्रिप्ट तत्व पृष्ठ में जोड़ा जाएगा
  5. दूसरा गतिशील स्क्रिप्ट तत्व पृष्ठ में जोड़ा जाएगा
  6. पहला गतिशील स्क्रिप्ट तत्व निष्पादित होगा
  7. दूसरा गतिशील स्क्रिप्ट तत्व निष्पादित होगा
5
जोड़ा
धन्यवाद। बहुत सराहना की।
जोड़ा लेखक user265330, स्रोत
ध्यान दें कि प्रत्येक अनुरोध में कितना समय लगता है इस पर निर्भर करता है कि 6 और 7 विपरीत में हो सकते हैं।
जोड़ा लेखक Kevin B, स्रोत
@Quentin हम देखते हैं कि ब्राउजर मेमोरी बढ़ती रहती है क्योंकि हर बार एक नया "<�स्क्रिप्ट .....>" टैग जोड़ा जाता है, ब्राउज़र को "फाइल" के समान डाउनलोड किया जाता है जो कैश लगता है - कैश को अक्षम करने से हम मदद नहीं कर सकते जब टैब खुला होता है तो पृष्ठ को ताज़ा/पुनः लोड किए बिना रिकर्सिव कॉल करना पड़ता है - हम क्रैश होने से पहले 800 एमबी तक मेमोरी ब्लोट का निरीक्षण करते हैं। - इसे रोकने के लिए कोई मदद?
जोड़ा लेखक takrishna, स्रोत