2016-06-23 23 views
7

Verwendung von react und webpack .. Warum führt der folgende Code zu einem Fehler: Uncaught (in promise) SyntaxError: Unexpected end of input(…)? DankFetch no-cors Unerwartetes Ende des Eingangs

fetch(feedURL, {"mode": "no-cors"}) 
    .then(response => response.json()) 
    .then(function(data){ 

     this.setState({ 
      data: data 
     }) 

    }.bind(this)); 
+0

ist die Antwort gültige JSON? – frankies

+1

Da Sie den Typ der Antwort, die Sie erhalten, nicht überprüfen und auch keinen akzeptierten Header festlegen, verfügen Sie möglicherweise nicht über ein Fail-safe für ein Szenario, wenn die Antwort, die Sie erhalten, nicht vom JSON-Typ ist. Könnte eine mögliche Ursache für das Problem sein. –

+0

Das Testen der JSON-Rohdaten ist gültig, aber die URL zu der auf einem CDN gehosteten Datei ist nicht gültig. 'Ungültige Codierung, erwartet UTF-8, UTF-16 oder UTF-32." Irgendwelche Gedanken darüber, wie ich das beheben kann? – user14439

Antwort

0

besser Um die Fehler zu verstehen, einen Haken Fall zu Ihrer Abrufanforderung hinzufügen.

Wenn Sie Pfeilfunktionen verwenden, müssen Sie auch nicht binden (dies);

fetch(feedURL, {"mode": "no-cors"}) 
.then(response => response.json()) 
.then(data => { 
    this.setState({ 
     data: data 
    }); 
}) 
.catch(resp => { 
    console.error(resp); 
}); 
Verwandte Themen