मैं फ़ेच एपीआई का उपयोग करके एक .md फ़ाइल लोड करना चाहता हूं और मुझे marked का उपयोग करके इसे पार्स करने की आवश्यकता है

मुझे फ़ेच एपीआई के माध्यम से फ़ाइल को हथियाने में परेशानी हो रही है, मुझे response.blob() और response.arrayBuffer() के साथ कुछ भी वापस नहीं मिल रहा है।

fetch('http://s3.amazon.com/some_bucket/some_file.md')
 .then(response => response.blob())
 .then(result => console.log(result));

मैं फिर परिणाम लेना चाहता हूं और इसे प्रस्तुत करने के लिए एक प्रतिक्रिया घटक को पास करना चाहता हूं। मैं चिह्नित (एनपीएम से) का उपयोग करके इसे पार्स कर रहा हूं।

किसी भी सहायता की सराहना की जाएगी।

2
Abdul R. Taleb-Agha 25 अप्रैल 2017, 03:20

1 उत्तर

सबसे बढ़िया उत्तर

मुझे लगता है कि आपको No 'Access-Control-Allow-Origin' header is present on the requested resource. त्रुटि प्रतिक्रिया मिल रही है। यानी, आप एक क्रॉस-डोमेन अनुरोध कर रहे हैं और इस प्रकार समान मूल नीति.

मूल रूप से, आपको अपने S3 बकेट पर क्रॉस-ओरिजिनल रिसोर्स शेयरिंग (CORS) को सक्षम करने की आवश्यकता है। वास्तव में इसे कैसे करना है, आप यहां पढ़ सकते हैं

साथ ही, एक त्वरित परीक्षण के रूप में, आप जिस URL को लाने का प्रयास कर रहे हैं उसके पहले https://crossorigin.me/ इस तरह लगा सकते हैं:

fetch('https://crossorigin.me/http://s3.amazon.com/some_bucket/some_file.md')
 .then(response => response.blob())
 .then(result => console.log(result));

जो अनुरोध को सफल बनाना चाहिए। हालांकि यह सिर्फ टेस्टिंग के लिए है।

2
m1kael 25 अप्रैल 2017, 03:58
जवाब देने के लिए धन्यवाद। मुझे वास्तव में वह त्रुटि नहीं मिल रही है, अगर मैं ब्राउज़र में लिंक डालता हूं तो मैं सीधे फ़ाइल डाउनलोड करने में सक्षम हूं।
 – 
Abdul R. Taleb-Agha
25 अप्रैल 2017, 18:56
वास्तव में आप सही थे, यह एक त्रुटि थी, धन्यवाद
 – 
Abdul R. Taleb-Agha
25 अप्रैल 2017, 21:51