2010-03-30 7 views
19

समान मूल नीति निम्नलिखित दो डोमेन पर कैसे लागू होती है?जावास्क्रिप्ट समान उत्पत्ति नीति - यह विभिन्न सबडोमेन पर कैसे लागू होती है?

http://server1.MyDomain.com

http://server2.MyDomain.com

मैं एक पेज server1 पर होस्ट पर जे एस चला सकते हैं सामग्री server2 से पुनर्प्राप्त कर रहा है तो क्या होगा?

संपादित नीचे डैनियल जवाब के अनुसार, मैं <script> टैग, लेकिन क्या अतुल्यकालिक अनुरोधों के बारे में का उपयोग कर विभिन्न वाले उप स्क्रिप्ट शामिल कर सकते हैं? अगर मैं सर्वर 2 पर होस्ट किए गए पेज पर सर्वर 2 से एक स्क्रिप्ट डाउनलोड करता हूं तो क्या होगा। क्या मैं सर्वर 2 पर किसी सेवा के साथ असीमित रूप से संवाद करने के लिए स्क्रिप्ट का उपयोग कर सकता हूं?

+1

माइलेज आईई के साथ थोड़ा भिन्न होने जा रहा है, लेकिन सामान्य नियम एक ही मेजबान है, प्रत्यक्ष एक्सएचआर के लिए एक ही बंदरगाह। आप जहां भी चुनते हैं वहां से स्क्रिप्ट लोड कर सकते हैं लेकिन जहां तक ​​एसिंक जाता है, JSONP स्क्रिप्ट इंजेक्शन प्रॉक्सी के बिना आपका एकमात्र विकल्प है। –

उत्तर

24

आप केवल <script> टैग का उपयोग कर विभिन्न सबडोमेन के बीच स्क्रिप्ट शामिल कर सकते हैं, क्योंकि यह नीति से मुक्त है।

का प्रयोग स्रोत (Wikipedia से) के रूप में http://www.example.com/dir/page.html:

Compared URL        Outcome Reason 
--------------------------------------------------------------------------------------------- 
http://www.example.com/dir/page.html  Success Same protocol and host 
http://www.example.com/dir2/other.html  Success Same protocol and host 
http://www.example.com:81/dir2/other.html Failure Same protocol and host but different port 
https://www.example.com/dir2/other.html Failure Different protocol 
http://en.example.com/dir2/other.html  Failure Different host 
http://example.com/dir2/other.html   Failure Different host (exact match required) 
http://v2.www.example.com/dir2/other.html Failure Different host (exact match required) 

अद्यतन:

मैं server2 पर एक सेवा के साथ अतुल्यकालिक रूप से संवाद करने के लिए स्क्रिप्ट का उपयोग कर सकते हैं?

हाँ, आप JSONP है, जो ओपन पॉलिसी का लाभ लेता है साथ <script> टैग अन्य मूल से JSON को पुनः प्राप्त करने के लिए कर सकते हैं।

तुम भी रूप में निम्नलिखित स्टैक ओवरफ़्लो पोस्ट में desribed, एक रिवर्स प्रॉक्सी का उपयोग पर विचार करना चाहते हो सकता है:

+1

@Daniel, उत्तर के लिए धन्यवाद। मैंने एक फॉलो अप प्रश्न के साथ सवाल संपादित किया है। किसी भी मौके पर आप अपने विचार जोड़ सकते हैं? धन्यवाद – DaveDev

+0

@ डेव: आप JSONP को देखना चाहेंगे। जैसा कि यहां वर्णित है, आप एक रिवर्स प्रॉक्सी स्थापित करने पर भी विचार करना चाहेंगे: http://stackoverflow.com/questions/2482916/what-am-i-missing-in-the-xmlhttprequest/2482941#2482941 –

+0

यह एक महान है , पूरी तरह से जवाब। – wprl

0

ज़रूर, आप किसी भी स्क्रिप्ट है कि आप पर अपने कभी नहीं डालने चला सकते हैं दिमाग जहां से आता है। अपने पृष्ठ पर एक Google मानचित्र डालने के बारे में सोचें।

आपका वर्णन जेसनपी नामक एक पैटर्न है। जहां किसी अन्य होस्ट पर कोई सर्वर आपके पृष्ठ में डाली गई स्क्रिप्ट देता है और स्क्रिप्ट प्रतिक्रिया तर्क के साथ आपके पृष्ठ में एक फ़ंक्शन कॉल करती है।

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