क्रॉस-डोमेन AJAX अनुरोध (jQuery 1.7.2 का उपयोग करके किए गए) को क्रॉस-डोमेन AJAX अनुरोध IE9 में नहीं किया जाता है जब तक कि अनुरोध डेटा टाइप "jsonp" या "script" पर सेट न हो।आईई 9
मैंने इस मुद्दे को एक अनुरोध तैयार करने में खोजा जहां मुझे प्रतिक्रिया और बाएं डेटा की परवाह नहीं थी टाइप निर्दिष्ट नहीं (हाँ, मुझे पता है कि मुझे प्रतिक्रिया की परवाह करनी चाहिए)।
तो, उदाहरण के लिए, इस काम करेगा:
$.ajax({
url: "http://www.google.com",
type: "GET", // or "POST"
dataType: 'jsonp'
});
लेकिन यह ऐसा नहीं करेंगे:
$.ajax({
url: "http://www.google.com",
type: "GET" // or "POST"
});
"काम" से मेरा मतलब है कि मैं एक HTTP Firebug या F12 में किए गए अनुरोध को देखने के ।
दोनों अनुरोध अन्य ब्राउज़रों में काम करते हैं। jQuery.support.cors = true;
सेट करना सफलता को प्रभावित नहीं करता है, न ही क्रॉसडोमेन को सत्य पर सेट करता है और न ही झूठ को कैश करता है (AJAX अनुरोध में)।
एजेक्स अनुरोध की सफलता क्यों डेटा पर निर्भर है टाइप टाइप केवल आईई में अनुरोध किया? मैं समझ सकता हूं कि यह किसी भी लौटाए गए डेटा के साथ काम करने की मेरी क्षमता को क्यों प्रभावित करेगा; मैं यह भी समझता हूं कि कुछ सर्वर एक निश्चित डेटा टाइप के लिए सभी अनुरोधों को अस्वीकार कर सकते हैं (लेकिन यह स्पष्ट रूप से यहां मामला नहीं है)।
आपको यह समझने की आवश्यकता है कि JSONP क्या है। – SLaks
क्या आपको इसका समाधान मिला? मेरे पास एक ही समस्या है, IE9 + jQuery 1.7.2 मेरे वेबएपीआई में क्रॉस डोमेन AJAX पोस्ट कर रहा है। मेरे पास सर्वर पक्ष पर उचित सीओआरएस समर्थन है जो एफएफ/क्रोम/सफारी को ठीक से काम करने की अनुमति देता है। आईई 9 बस सीओआरएस समर्थन निर्धारित करने के लिए प्री-फ्लाइट विकल्प अनुरोध जारी करने से इंकार कर देता है ... – mellodev