मेरे पास कुछ अजाक्स कोड है जो सफारी, क्रोम और फ़ायरफ़ॉक्स में काम कर रहा है लेकिन IE9 में नहीं।यह क्रॉस-डोमेन अनुरोध अन्य ब्राउज़रों में क्यों काम करता है लेकिन IE9 नहीं?
पृष्ठ http://foo.com/test.aspx
पर है और यह https://service.foo.com
पर होस्ट किए गए किसी webservice पर AJAX अनुरोध कर रहा है। मैंने सोचा कि मैं किसी भी क्रॉस-डोमेन मुद्दों नहीं होगा लेकिन IE9 अवरुद्ध कर रहा है को देखते हुए ऐसा लगता है कि मुझे क्या करना :(
var tempUrl = "https://service.foo.com/dummy.svc/test?hi=bye";
$.get(tempUrl, "html");
मैं उल्लेख किया है, कोड, अन्य 3 ब्राउज़रों में काम करता है सिर्फ IE9 नहीं। । (मैं केवल IE9, नहीं IE8 या उससे अधिक के बारे में चिंतित हूँ)
मैं कुछ खुदाई किया था और MSDN पर this article में पाया गया कि कहते हैं:
क्रॉस-डोमेन अनुरोध वेब पेज और के बीच आपसी सहमति की आवश्यकता सर्वर। आपशुरू कर सकते हैंविंडो वेब ऑब्जेक्ट से XDomainRequest ऑब्जेक्ट बनाकर और किसी विशेष डोमेन से कनेक्शन खोलकर अपने वेब पेज में क्रॉस-डोमेन अनुरोध। ब्राउज़र मूल के मूल्य के साथ उत्पत्ति शीर्षलेख भेजकर डोमेन के सर्वर से डेटा का अनुरोध करेगा। यह सर्वर कनेक्शन को पूरा करेगा यदि सर्वर या तो अनुरोध पृष्ठ का सटीक URL एक्सेस-कंट्रोल-अनुमति-उत्पत्ति शीर्षलेख का जवाब देता है। यह व्यवहार वर्ल्ड वाइड वेब कंसोर्टियम (डब्ल्यू 3 सी) के वेब एप्लिकेशन वर्किंग क्लाइंट-साइड पर क्रॉस-डोमेन संचार पर समूह का मसौदा ढांचा है जो XDomainRequest ऑब्जेक्ट के साथ एकीकृत करता है, का हिस्सा भाग है।
एक्सडीआर का उपयोग करने के रास्ते से नीचे जाने से पहले मैं लोगों से बेहतर समझना चाहता था कि यह सही दृष्टिकोण है या नहीं।
- मेरा पेज
- हालत JScript कोड है कि IE9 पता लगाता है और नियमित रूप से jQuery कॉल मैं
$.get
साथ उपयोग कर रहा हूँ के बजाय XDR का उपयोग करता है बनाने के लिएResponse.AddHeader("Access-Control-Allow-Origin", "*");
जोड़ें।
क्या मैं पूरी तरह से बंद हूं या यह इस बारे में जाने का सही तरीका है?
आम तौर पर, JQuery ब्राउज़र के समान मूल प्रतिबंधों से अवगत है और उन ब्राउज़र में सीओआरएस का उपयोग करने की कोशिश नहीं करनी चाहिए जो इसका समर्थन नहीं करते हैं। क्या आप IE9 के F12 डेवलपर टूल कंसोल में स्क्रिप्ट त्रुटियां देखते हैं? – EricLaw
एरिक, देव उपकरण कंसोल में कोई त्रुटि नहीं डाली गई। – TMC