2010-06-29 15 views
5

यहाँ मेरी स्थिति है।क्रॉस डोमेन XMLHttpRequest

क्लाइंट क्लाइंट मशीन से वेबसर्वर तक पहुंचता है, कुछ बदलाव करता है, और फिर 'सेव' पर क्लिक करता है। इस बिंदु पर, डेटा को वेबसर्वर और तीसरी मशीन पर वापस भेजा जा रहा है। यह सब जावास्क्रिप्ट और XMLHttpRequest ऑब्जेक्ट का उपयोग करके किया जा रहा है।

वेबसर्वर पर पोस्ट ठीक काम करता है, हालांकि तीसरी मशीन पर पोस्ट काम नहीं करता है, क्योंकि इसमें एक अलग आईपी/डोमेन था।

मैं यह काम कैसे कर सकता हूं? क्लाइंट मशीन -> तीसरा मशीन काम नहीं करता है, एक अलग डोमेन वेबसर्वर मशीन पर अपने क्योंकि -> तीसरा मशीन काम नहीं करता है, फ़ायरवॉल मुद्दों

कोई भी विचार बहुत सराहना कर रहे हैं की वजह से!

उत्तर

3

आप जो चल रहे हैं वह Same origin policy है, फ़ायरवॉल समस्या नहीं है।

मशीनों एक शीर्ष स्तर के डोमेन का हिस्सा हैं, तो आप set their document.domain properties to match कर सकते हैं:

दो एक आम शीर्ष स्तर के डोमेन शेयरिंग साइटों द्वारा "एक ही मेजबान" चेक में नाकाम रहने के बावजूद संवाद करने के लिए विकल्प चुन सकते हैं पारस्परिक रूप से अपने संबंधित दस्तावेज़.डोमेन DOM प्रॉपर्टी को पर उनके वर्तमान होस्ट नाम के समान योग्य, दाएं हाथ के टुकड़े को पारस्परिक रूप से सेट करें।

अन्यथा, आप अन्य मेजबान करने के लिए अनुरोध प्रॉक्सी के लिए सेटअप अपना पहला मेजबान करना पड़ सकता है।

2

आप iframe hack का भी उपयोग कर सकते हैं। दूसरे डोमेन द्वारा होस्ट किए गए एक आईफ्रेम को पहले डोमेन द्वारा होस्ट किए गए पृष्ठ में प्रस्तुत किया जा सकता है, और iframe के लिए window object मूल पृष्ठ के संदर्भ से पहुंच योग्य होगा।

+1

यह एक बुरा विचार की तरह नहीं लगता है, मुझे लगता है कि आप इस मामले में फ्रेम के बीच मैसेज() पोस्ट कर सकते हैं। – erikvold

1

एक और विकल्प (जो स्वीकार्य रूप से थोड़ा सा तकनीक है) YQL का उपयोग करना है यदि डेटा संवेदनशील नहीं है। आप अन्य डोमेन से डेटा लाने के लिए YQL & JSON-P का भी उपयोग कर सकते हैं।

3

आप अपने सर्वर पर CORS (Cross-Origin Resource Sharing) लागू कर सकते हैं।

प्रमुख डेस्कटॉप ब्राउज़र के वर्तमान संस्करणों ने इसे थोड़ी देर के लिए समर्थन दिया है, ओपेरा और एक्सप्लोरर 10 समर्थन जोड़ने के लिए अंतिम हैं।

मुझे यकीन नहीं है कि इस समय मोबाइल ब्राउज़र में सीओआरएस कितनी व्यापक रूप से समर्थित है।

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