क्यों
$। Ajax ({प्रकार: "मिलना", url: "http://www.facebook.com", सफलता: फ़ंक्शन (डेटा) {console.log (डेटा); }}); काम करता है और
$। Ajax ({प्रकार: "get", url: "http://www.google.com", सफलता: फ़ंक्शन (डेटा) {console.log (डेटा);}}}; प्रसिद्ध XMLHttpRequest को लोड नहीं किया जा सकता ब्राउज़र कंसोल पर समान मूल नीति अपवाद! क्यों? मुझे लगता है कि यह ब्राउज़र द्वारा निर्भर करता है?
http://www.facebook.com एक भेजता है 301 को हमेशा के लिए ले जाया गया प्रतिक्रिया, जो https://www.facebook.com पर रीडायरेक्ट करता है। ऐसा प्रतीत होता है कि रीडायरेक्ट से अनुरोध होता है कि एक से अधिक चुपचाप विफल हो संपूर्ण क्रॉस-डोमेन असफलता संपादित करें के अनुसार:
यदि प्रतिक्रिया में 301, 302, 303, 307, या 308 का एक HTTP स्टेटस कोड है ... - URL द्वारा अनुरोधित URL को अनुरोध URL सेट करें शीर्ष लेख।
- अगर मूल स्रोत और अनुरोध यूआरएल की उत्पत्ति एक समान मूल है, तो समान-मूल अनुरोध घटना नियमों को देखते हुए रीडायरेक्ट का पालन करें।
- अन्यथा, क्रॉस-मूल का पालन करें इस एल्गोरिथ्म के लिए चरणों का अनुरोध करें और चरण समाप्त करें।
पाठ "पारदर्शी रीडायरेक्ट का पालन करें" का अर्थ है कि अजाक्स को 301 रीडायरेक्ट के लक्ष्य को मूल लक्ष्य के रूप में लेना चाहिए। हालांकि, एक रीडायरेक्ट करते समय, एक ही मूल नीति को नए लक्ष्य मूल के खिलाफ फिर से जाँच कर दिया जाता है।
लक्ष्य डोमेन में अनुरोध स्रोत के समान ही मूल होना चाहिए, या इसे सीओआरएस शीर्षलेखों के साथ जवाब देना चाहिए जो अनुरोध करने वाले मूल की पहुंच की अनुमति देता है।
No comments:
Post a Comment