2012-07-04 14 views
5

अंदर मैं निम्नलिखित सेटअप:आईई हो रही क्रॉस-डोमेन के रूप में इलाज ajax को रोकने के लिए, iframe

www.domain1.com/page1/ - बनाता ajax पोस्ट अनुरोध www.domain1.com/page2/

www.domain1.com/page2/ के लिए - रिटर्न json प्रतिक्रिया


www.domain2.com/page1/ - iframe में www.domain1.com/page1/ एम्बेड करता है


जब मैं www.domain1.com/page1/ लोड करता हूं तो AJAX अनुरोध किया जाता है और सब कुछ काम करता है। जब मैं क्रोम या फ़ायरफ़ॉक्स में www.domain2.com/page1/ लोड करता हूं, तो www.domain1.com/page1/ आईफ़्रेम में प्रदर्शित होता है, और AJAX अनुरोध ठीक किया जाता है।

जब मैं IE7/IE8 में www.domain2.com/page1/ लोड करने का प्रयास, ajax अनुरोध एक वर्जित त्रुटि देता है - यह क्रॉस-डोमेन के रूप में अनुरोध इलाज किया जाना है और यह अवरुद्ध है, भले ही अनुरोध www.domain1.com/page1/ से www.domain1.com/page2/ करने के लिए किया जा रहा है लगता है ।

यह अनुरोध प्राप्त होने पर आईई में ठीक काम करता है, लेकिन पोस्ट नहीं। मैं आईई को क्रॉस-डोमेन के रूप में इलाज रोकने के लिए कैसे प्राप्त कर सकता हूं, सिर्फ इसलिए कि पूरे प्रवाह को आईफ्रेम में निहित किया गया है?

धन्यवाद!

+0

शायद सुरक्षा सेटिंग्स को थोड़ा सा ढीला करें (शायद "IFRAME में प्रोग्राम और फ़ाइलों को लॉन्च करना" सक्षम करें) – t3hn00b

उत्तर

2

jQuery v1.7.2 आईई में कोर को ठीक करेगा, भले ही यह वास्तव में कोर नहीं है लेकिन आईई सोचता है।
आपकी जावास्क्रिप्ट समारोह की शुरुआत में यह सरल बूलियन इस व्यवहार

$.support.cors = true; 

यह दोनों प्राप्त और पोस्ट के लिए काम करता है ठीक करना चाहिए।

+0

हमें एक ही समस्या थी। JQuery v1.7.1 को v1.11.0 (वर्तमान संस्करण) में अपग्रेड करना चाल था। धन्यवाद! – Lionel

संबंधित मुद्दे