5

मेरे पास 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 ऑब्जेक्ट प्रदान करता है। लेकिन XDomainRequestset HTTP header फ़ील्ड के लिए कोई तरीका लागू नहीं करता है।

तो मेरा सवाल है: मैं कस्टम हेडर के साथ XDomainRequest या XMLHttpRequest का उपयोग किए बिना क्रॉस-डोमेन अनुरोध कैसे कर सकता हूं? सबसे अच्छा अभ्यास कामकाज क्या है?

संपादित करें: मेरे पास सभी शामिल सर्वर (* .example.com) पर नियंत्रण है।

उत्तर

1

मुझे डर है कि आपके आवेदन के सर्वर पक्ष में इस अनुरोध के लिए प्रॉक्सी लागू करने का कोई अन्य तरीका नहीं है। An example

+3

यह सही है। आप हमेशा एक आईफ्रेम और 'पोस्टमेसेज' का उपयोग कर सकते हैं। – idbehold

+0

तो मुझे लगता है कि कम से कम एक अन्य तरीका है :) –

+0

मुझे पोस्ट मैसेज अस्तित्व के रूप में ऐसी उपयोगी विधि नहीं थी, इसलिए धन्यवाद @idbehold। आपको api.example.com पर नियंत्रण रखना होगा, क्योंकि आपको उस डोमेन में आईफ्रेम सामग्री डालना है। ऐसा लगता है कि आप केवल आईई में पोस्टमेसेज के साथ तार भेज सकते हैं। –