सर्वर त्रुटि संदेश सूचना की वजह से, एक ब्राउज़र करने के लिए एक 403 त्रुटि देता है, क्योंकि आप संसाधन का उपयोग करने की अनुमति नहीं है ("अनुरोधित उपयोगकर्ता के पसंदीदा सार्वजनिक नहीं कर रहे हैं।")।
हालांकि, सर्वर भी jsFiddle उदाहरण में अनुरोध प्राप्त नहीं करता है।
आपको क्रॉस-ब्राउज़र AJAX अनुरोध करने की अनुमति नहीं है। इसे same-origin policy कहा जाता है। यह सुरक्षा कारणों से है, दुर्भावनापूर्ण कोडर को आपके ज्ञान के बिना अप्रिय चीजें करने से रोकने के लिए। यह एक बदमाश उपकरण है, लेकिन एक प्रभावी है।
जब आप सर्वर से अनुरोध भेजने तक भी नहीं पहुंचते हैं, तो कोई स्थिति कोड नहीं है। यह XMLHTTPRequest ऑब्जेक्ट (और इसके jqXHR wrapper) द्वारा 0
के रूप में रिपोर्ट किया जाता है।
असल में, आप ऐसा नहीं कर सकते जो आप ब्राउज़र में करने का प्रयास कर रहे हैं।
यदि आपको इस तरह के डेटा को असीमित रूप से एक्सेस करने के लिए ब्राउज़र की आवश्यकता है, तो आपको दूरस्थ सर्वर से जानकारी प्राप्त करने और ब्राउज़र पर फ़ीड करने के लिए अपने सर्वर पर एक रैपर लिखना होगा। एक वर्कअराउंड है (इसे जेएसओएनपी – जेडॉन पैडिंग के साथ कहा जाता है) लेकिन मुझे विश्वास नहीं है कि यूट्यूब इसका समर्थन करता है।
संपादित करें: प्रति gradbot's answer, यह jsonp
को dataType
स्थापित करने के लिए अपने कोड को बदलने के द्वारा एक JSONP अनुरोध करने के लिए संभव है।
हालांकि, अब आप xhr.status
का उपयोग करने में सक्षम नहीं होंगे। ऐसा इसलिए है क्योंकि JSONP XHR ऑब्जेक्ट का उपयोग नहीं करता है, इसलिए जांच करने के लिए कोई स्थिति उपलब्ध नहीं है।
Here's a working example using the feed gradbot suggested। ध्यान दें कि परिणाम वस्तु jqXHR ऑब्जेक्ट की बजाय हैंडलर को पास की जाती है।
अब उपहार देने का एक अच्छा समय होगा। –