मेरे पास www.example.com
से एक एकल पृष्ठ वेब एप्लिकेशन वितरित किया गया है। इस वेब अनुप्रयोगोंमैं XDomainRequest या XMLHttpRequest का उपयोग किए बिना कस्टम हेडर के साथ क्रॉस-डोमेन अनुरोध कैसे कर सकता हूं?
- नामक एक अन्य सर्वर के विरुद्ध AJAX अनुरोध करने के लिए की जरूरत है
api.example.com
- यह
Authorization
जैसे कुछ शीर्ष लेख फ़ील्ड सेट करने के लिए जबapi.example.com
- यह और हाल ही में साथ संगत तो हाल ही में नहीं हो गया है करने के लिए अनुरोध भेजने है ब्राउज़रों
यह सब क्रोम (और अन्य हाल WebKit- आधारित ब्राउज़र) के साथ api.example.com पर CORS अनुरोधों को संभालने XMLHttpRequest
का उपयोग करके काम करता है (उदाहरण के आईई> = 8 के लिए)। IE older than version 10XMLHttpRequest
के लिए CORS लागू नहीं करता है और इसके बजाय क्रॉस-डोमेन अनुरोधों के लिए गैर-मानक XDomainRequest
ऑब्जेक्ट प्रदान करता है। लेकिन XDomainRequest
set HTTP header फ़ील्ड के लिए कोई तरीका लागू नहीं करता है।
तो मेरा सवाल है: मैं कस्टम हेडर के साथ XDomainRequest
या XMLHttpRequest
का उपयोग किए बिना क्रॉस-डोमेन अनुरोध कैसे कर सकता हूं? सबसे अच्छा अभ्यास कामकाज क्या है?
संपादित करें: मेरे पास सभी शामिल सर्वर (* .example.com) पर नियंत्रण है।
यह सही है। आप हमेशा एक आईफ्रेम और 'पोस्टमेसेज' का उपयोग कर सकते हैं। – idbehold
तो मुझे लगता है कि कम से कम एक अन्य तरीका है :) –
मुझे पोस्ट मैसेज अस्तित्व के रूप में ऐसी उपयोगी विधि नहीं थी, इसलिए धन्यवाद @idbehold। आपको api.example.com पर नियंत्रण रखना होगा, क्योंकि आपको उस डोमेन में आईफ्रेम सामग्री डालना है। ऐसा लगता है कि आप केवल आईई में पोस्टमेसेज के साथ तार भेज सकते हैं। –