2016-04-05 5 views
3

私はreactjsアプリケーションとredux-thunkミドルウェアでisomorphic-fetchを使用しようとしました。しかし、私は、サーバーが{"user": "happy tree friends"}のようなものを返す場合でも`isomorphic-fetch` response.json()メソッドは常にスローします。予期しない入力エラーの終了

let config = { 
    method: 'POST', 
    headers: { 'Content-Type':'application/x-www-form-urlencoded' }, 
    mode: 'no-cors', 
    body: "username=foo&password=bar" 
}; 

fetch('my_url', config) 
     .then(response => { 
       response.json().then(user => ({user, response})) // here is where the error always been thrown 
      }) 

を行うときに、それらのUnexpected end of input errorを得続けます。 このモジュールを使用している方法が間違っていたり、サーバーが間違ったJSONデータを返すだけです。

ヘルプ!!!

答えて

3

おそらく、あなたのAPIは、そう、あなたがエラー

JSON.parse('')Uncaught SyntaxError: Unexpected end of input

2

それは結局のところ、私はフロントエンド部分で動作するためには、私のtornadoサーバーを設定する必要がスローされます取得emptyを返します。

サーバーへの要求はCORSですが、サーバーのデフォルトヘッダーにいくつかのヘッダーを追加しています。リクエストは正常に処理されました:

class BaseHandler(tornado.web.RequestHandler): 
    def set_default_headers(self): 
     self.set_header("Access-Control-Allow-Origin", "*") 
     self.set_header("Access-Control-Allow-Headers", "x-requested-with, content-type") 
     self.set_header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS') 

    def options(self): 
     # no body 
     self.set_status(204) 
     self.finish() 

@nour-sammourありがとうございました!私は自分のサーバーをチェックするために戻ってきました。問題はどこから来たのでしょうか。

関連する問題