2016-01-07 11 views
6

मैं एक मुद्दा है जहाँ मैं हेडर सेट नहीं कर पा रहे भर में आ रहा हूँ लाए जाने के लिए अनुरोध करता है और मुझे लगता है कि जब अनुरोध निरीक्षण किया जाता मैं कुछसेटिंग प्राधिकरण लाने

var init = { 
     method: 'GET', 
     headers: { 
      'Accept': 'application/json', 
      'Content-Type': 'application/json', 
      'Authorization': 'Bearer myKey' 
     } 
    }; 
return fetch(url, init).then(function(response){... 

याद कर रहा हूँ नेटवर्क टैब में, मैं नहीं दिखाई दे रहा हेडर तैयार हो जाओ और इसके बजाय

Access-Control-Request-Headers:accept, authorization, content-type 

देखने के लिए जब मैं देखने की अपेक्षा करेंगे

Authorization: Bearer myKey 
Content-Type: application/json 
Accept: application/json 

मैंने शून्य अंतर के साथ मूल शीर्षलेख() का उपयोग करने का भी प्रयास किया है।

क्या मुझे यहां कुछ याद आ रही है?

+0

मुझे लगता है कि "हेडर" संपत्ति एक हेडर उदाहरण हो सकता है, सिर्फ एक सादे वस्तु है और नहीं। – Pointy

+0

https://developer.mozilla.org/en-US/docs/Web/API/Headers#Examples – xkcd149

उत्तर

7

मुझे एक ही समस्या थी और इस शाम की जांच की गई। समस्या cross-origin resource sharing/CORS है। प्राप्त करने के साथ यह डिफ़ॉल्ट है और यह चीजों को काफी जटिल बनाता है।

जब तक कि मूल और गंतव्य दोनों समान नहीं हैं, यह एक क्रॉस-डोमेन अनुरोध है, और इन्हें तभी समर्थित किया जाता है जब अनुरोध किसी गंतव्य के लिए होता है जो सीओआरएस (क्रॉस-ओरिजिनल रिसोर्स शेयरिंग) का समर्थन करता है। यदि ऐसा नहीं होता है तो यह नहीं होगा। आपको आमतौर पर No 'Access-Control-Allow-Origin' header is present on the requested resource

जैसी त्रुटि दिखाई देगी, यही कारण है कि आप गैर-सीओआरएस साइटों पर प्राधिकरण शीर्षलेख नहीं कर सकते हैं;

0123: # 5 और बुनियादी हेडर

निषिद्ध हेडर नाम देखना

और दुर्भाग्य से, इससे पहले कि आप XMLHttpRequest मार्ग की कोशिश, एक ही लागू होता है: यह XMLHttpRequest के साथ एक ही है:

अंत में, अपने विकल्पों को आगे बढ़ें: 1. JSONP 2. ब्राउज़र में नहीं है जो प्रॉक्सी लिखें 3. गंतव्य सर्वर पर रखें CORS

This article sums it up nicely

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