2016-06-23 20 views
7

reactとwebpackを使用しています。なぜ以下のコードでエラーが発生しますか?Uncaught (in promise) SyntaxError: Unexpected end of input(…)?ありがとうフェッチno-cors予期しない入力の終了

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

     this.setState({ 
      data: data 
     }) 

    }.bind(this)); 
+0

は応答有効なJSONですか? – frankies

+1

取得しているレスポンスのタイプを確認しておらず、受け入れヘッダも設定していないため、取得したレスポンスがJSONタイプでない場合は、フェールセーフがない可能性があります。この問題の原因になる可能性があります。 –

+0

JSON生データのテストは有効ですが、CDNでホストされているファイルへのURLは無効です。 '無効なエンコーディング、UTF-8、UTF-16、またはUTF-32が必要です。'どのように修正できますか? – user14439

答えて

0

エラーをよく理解するには、取得要求にキャッチケースを追加してください。

また、矢印関数を使用する場合、バインドする必要はありません(this)。

fetch(feedURL, {"mode": "no-cors"}) 
.then(response => response.json()) 
.then(data => { 
    this.setState({ 
     data: data 
    }); 
}) 
.catch(resp => { 
    console.error(resp); 
}); 
関連する問題