2016-05-13 9 views
9

मेरे स्थानीय सर्वर पर एक आरईएसटी एपीआई से कुछ JSON लाने के लिए Fetch API का उपयोग करते समय और response.json() के साथ प्रतिक्रिया को पार्स करने का प्रयास करते समय, मुझे unexpected end of input प्राप्त हो रहा है त्रुटि।Fetch API - respond.json() का उपयोग करके इनपुट त्रुटि का एक अप्रत्याशित अंत

त्रुटि के बाद एक-लाइनर के साथ अपने स्थानीय सर्वर पर आसानी से प्रतिलिपि प्रस्तुत करने योग्य है:

fetch(new Request('http://localhost:9950/RestService/v2/search/find/1', {mode: 'no-cors'})).then(function(response) { response.json(); }); 

// Output from Chrome console: 
// Promise {[[PromiseStatus]]: "pending", [[PromiseValue]]: undefined} 
// VM424:1 Uncaught (in promise) SyntaxError: Unexpected end of input 
//  at SyntaxError (native) 
//  at <anonymous>:1:128 

अगर मैं नेटवर्क टैब देखते हैं, मैं देख सकता हूँ कि मेरे अनुरोध सर्वर द्वारा पूरा किया गया, और अगर मैं पूर्वावलोकन (मैं कॉपी करके इस की दोबारा जांच कर और jsonlint.com करने के लिए नेटवर्क रिस्पांस टैब से JSON चिपकाने) प्रतिक्रिया मैं देख सकता है कि वहाँ मान्य JSON वहाँ उपलब्ध।

{ 
    "SearchMatches": [{ 
     "Extracts": ["<b>1<\/b>.txt...", "<b>1<\/b>"], 
     "Title": "1.txt", 
     "Url": "C:\\TestShare4\\500Docs\\1.txt" 
    }] 
} 

अगर मैं response.text() बजाय response.json() मैं कोई रिक्त स्ट्रिंग प्राप्त इस्तेमाल करने की कोशिश: यहाँ प्रतिक्रिया मैं सर्वर से हो रही है का एक नमूना है।

जहाँ मैं इस के साथ गलत हो रहा हो सकता है पर कोई विचार?

ध्यान दें कि मैं एक आवश्यकता किसी अन्य चौखटे या के अलावा अन्य पुस्तकालयों पर निर्भर नहीं करना है मूल रूप से ब्राउज़र द्वारा समर्थित है।

+0

मैं एक ऐसी ही समस्या आ रही है, तो आप इस हल किया? –

+1

मैं एक ही मुद्दा था और यह http://stackoverflow.com/a/35291777/3192470 द्वारा हल किया गया था। – lakesare

उत्तर

0

मैं इस एक ही मुद्दा instagram एपीआई से कुछ सामग्री लाने की कोशिश कर रहा था और एक jsonp लाइब्रेरी का उपयोग करके इसे हल। https://github.com/camsong/fetch-jsonp

मेरा अनुरोध: यह एक मैं प्रयोग किया जाता है

import fetchJsonp from 'fetch-jsonp';  
return fetchJsonp(`https://api.instagram.com/oembed?url=${url}`, { 
     method: 'GET', 
     mode: 'no-cors', 
     credentials: 'include', 
    }) 
     .then(response => response.json()) 
     .then(response => {}); 

आशा है कि यह मदद करता है :)

+2

हम सामान्य fetch ऑब्जेक्ट का उपयोग क्यों नहीं कर सकते? यह अजीब बात है, यह मुक्ति अलग-अलग क्या कर रही है? –

+0

यह जो डिफ़ॉल्ट रूप से लाने एपीआई द्वारा समर्थित नहीं हैं jsonp अनुरोधों के लिए समर्थन जोड़ता है – keyserfaty

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