2016-10-12 24 views
7

मुझे यहां कुछ याद आ रहा है। मैं एपीआई कॉल पैर की अंगुली के काम को पाने के लिए संघर्ष कर रहा था। फिर मैंने यूआरएल को नीचे की तरह विभाजित किया और यह सचमुच एक बार काम करता है। उसके बाद यह फिर से काम करने में विफल रहा। मैं कसम खाता हूँ कि मैंने कुछ नहीं बदला है।एक्सिस - कोई 'एक्सेस-कंट्रोल-ऑब्जेक्ट-ओरिजिन' हेडर मौजूद है

आप एक्सियोस में इसके बारे में कैसे जाते हैं?

त्रुटि संदेश
XMLHttpRequest cannot load http://magicseaweed.com/api/W2Z26fXscpELi7nPB0svfqcGj9FtGO9e/forecast/?spot_id=228. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.

import axios from 'axios'; 

const ROOT_URL = `magicseaweed.com/api/W2Z26fXscpELi7nPB0svfqcGj9FtGO9e/forecast/`; 

export const FETCH_WEATHER = 'FETCH_WEATHER'; 

export function fetchWeather() { 
    const url = `http://${ROOT_URL}?spot_id=228`; 
    const request = axios.get(url); 

    return { 
     type: FETCH_WEATHER, 
     payload: request 
    }; 
} 

मैं इस संशोधित प्राप्त रूप में अच्छी तरह से करने की कोशिश की है, लेकिन कोई लाभ नहीं हुआ

axios({ 
    url: url , 
    headers: {"Access-Control-Allow-Origin": "*"}, 
}); 
+0

की संभावित डुप्लिकेट [नहीं 'पहुंच-नियंत्रण-अनुमति दें -ऑर्गिन 'हेडर अनुरोधित संसाधन पर मौजूद है। उत्पत्ति '... इसलिए पहुंच की अनुमति नहीं है] (http://stackoverflow.com/questions/20433655/no-access-control-allow-origin-header-is-present-on-the-requested-resource-or)। यह एक सुपर आम प्रश्न है और रेडक्स के साथ कुछ भी नहीं है। पोस्ट आपके प्रश्न का उत्तर देने के लिए तैयार है, लेकिन बेहतर हो सकता है। –

+0

ठीक है, उचित बिंदु। लेकिन 'अक्षरों' दस्तावेज को देखते हुए, मैं इसे कॉन्फ़िगर करने के लिए कुछ देखने में विफल रहा। मैंने कुछ अन्य विकल्पों का प्रयास किया, लेकिन यह काम नहीं किया। मैं इसे सूचीबद्ध करूंगा – morne

+0

यह ऐसा कुछ है जिसे सर्वर को करने के लिए सेट अप किया जाना है। अगर आप सर्वर पर एक प्रोजेक्ट सेट करते हैं तो आप अभी भी जादू समुद्री शैवाल को कॉल कर सकते हैं क्योंकि उत्तर आपको बताता है। –

उत्तर

1

यहाँ देखो:

https://www.npmjs.com/package/magicseaweed

नीचे की ओर यह कहता है कि उनका एपीआई रैपर ब्राउज़र में क्यों काम नहीं करेगा। यही कारण है कि आप ब्राउज़र में अजाक्स कॉल नहीं कर सकते हैं।

पूछे जाने वाले प्रश्न

मैं browserify साथ ब्राउज़र में इस मॉड्यूल का उपयोग कर सकते हैं?

सिद्धांत रूप में हाँ, लेकिन मैजिकसेवाइड एपीआई वर्तमान में ब्राउज़र अनुरोधों में एक्सेस-कंट्रोल-अनुमति-उत्पत्ति शीर्षलेख नहीं भेज रहा है (किसी भी तरह हेडर भेजा जाता है यदि आप curl के माध्यम से अनुरोध को दोहराते हैं)।

तो यदि एपीआई उस व्यवहार को बदलती है, तो यह मॉड्यूल ब्राउज़रify के साथ काम करेगा।

आप अपनी खुद की प्रॉक्सी सर्वर खड़े कर सकते हैं या आप इंटरनेट पर उपलब्ध मुक्त लोगों से एक का उपयोग कर सकते हैं:

https://developer.yahoo.com/yql/

https://crossorigin.me/

+0

धन्यवाद रॉबर्ट। मेरे पास – morne

+1

पढ़ा जाएगा, मैं इसे स्वयं कॉल करने की कोशिश कर रहा हूं और मैं पुष्टि कर सकता हूं कि एपीआई एक्सेस-कंट्रोल-ऑब्जेक्ट-हेडर हेडर वापस नहीं लौटाता है, इसलिए यह AJAX के साथ काम नहीं करेगा। बीटीडब्ल्यू, यह अक्षरों है, ब्राउज़र नहीं है :) संपादित करें: क्षमा करें, उन्होंने देखा कि वे एक ही बात अपने एनपीएम पेज पर कहते हैं, यही कारण है कि आपने ब्राउज़र को कहा :) –

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