2015-05-26 30 views
8

का उपयोग कर एपीआई कॉल करने में असमर्थ मेरे पास एक वीएम स्थानीय रूप से चल रहा है जो वाग्रेंट का उपयोग करके बनाया गया है। मैं सीधे ब्राउज़र से यूआरएल पर कर्ल करने और जाने में सक्षम हूं। किसी कारण से, जब मैं fetch एपीआई का उपयोग करके अपने प्रतिक्रिया-मूल ऐप में एक ही कॉल करता हूं, तो यह मुझे Network request failed त्रुटि दे रहा है।प्रतिक्रिया-मूल

fetchData() { 

    this.setState({ isLoading: true }); 

    var baseURL = 'https://192.168.33.33/api/session'; 

    console.log('URL: >>> ' + baseURL); 

    fetch(baseURL) 
    .then((response) => response.json()) 
    .then((responseData) => { 
    console.log(responseData); 
    }) 
    .catch(error => { 
    console.log(error); 
    }) 
    .done(); 
} 

baseURL लॉग वहाँ सही URL मिलता है और त्रुटि लग रहा है तो जैसे:

URL: >>> http://192.168.33.33/api/session 
TypeError: Network request failed {stack: (...), message: "Network request failed"} 
    message: "Network request failed" 
    stack: (...) 
    get stack: function() { [native code] } 
    set stack: function() { [native code] } 
    __proto__: Error 

मैंने सोचा कि यह एक मुद्दा किया गया है हो सकता है

यहाँ कोड का एक टुकड़ा है मेरे वीएम के साथ मेरे ऐप द्वारा किसी भी तरह से सुलभ नहीं किया जा रहा है, इसलिए मैं आगे बढ़ गया और इसे एक वास्तविक सर्वर पर तैनात कर दिया और यह अभी भी वही त्रुटि दे दी।

कोई विचार?

+0

'https: // 192.168.33.33/api/session' को आपके अनुरोध पर किसी प्रकार के शीर्षलेख की आवश्यकता हो सकती है? – lyjackal

+0

@lyjackal मुझे ऐसा नहीं लगता है, सभी कोड यह है: http://d.pr/n/18BiU/3kXPWHcD –

+0

यदि आप लाने के बजाय XMLHttpRequest ऑब्जेक्ट का उपयोग करते हैं, तो क्या आपको वही त्रुटि मिलती है? सीओआरएस सही ढंग से सेटअप है? – user2943490

उत्तर

4

समस्या मिली और इसे हल किया।

समस्या एपीआई सर्वर में स्वयं निर्मित सीए के बिना स्वयं हस्ताक्षरित प्रमाणपत्र होने के कारण हुई थी।

मैं अपना स्वयं का सीए बनाने का प्रयास कर सकता हूं और फिर उस से प्रमाण पत्र बना सकता हूं लेकिन मैं आगे बढ़ गया और एक सस्ता असली एसएसएल प्रमाण प्राप्त किया। इस मुद्दे को हल किया।

-1

मुझे लगता है कि आपको same origin policy बाधा का सामना करना पड़ सकता है।

many कामकाज के तरीके हैं।

+0

आपके उत्तर के लिए धन्यवाद! दुर्भाग्य से, यह मामला नहीं था। –

+1

यह देशी ऐप्स को प्रतिक्रिया देने के लिए लागू नहीं होता है। – Clintm

+0

समान मूल नीति केवल ब्राउज़र के लिए है! – Germinate