2017-06-06 24 views
0

ノードを使いません。私はexpress.jsを使用しています 私はAJAXによってフォームから得たデータを取得し、これを変数urlに書き込もうとしている私のコードの一部です。私はrequest.bodyを持っていますが、私はそれを "then"に渡すことはできません。その代わりに、私は私が間違って何をやっている私にエラーUnhandledPromiseRejectionWarning:未処理の約束拒否(拒否ID:2):エラー:送信後にヘッダーを設定できません。

UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Error: Can't set headers after they are sent.

を言うことができるのか?どうもありがとう。

app.get('/', function (req, res) { 
     return res.render('index.html').end(); 
    }); 

    app.post("/", jsonParser, function (request, response) { 
     return new Promise((resolve, reject) => { 
      if (!request.body) { 
       reject() 
      } else { 
       console.log(request.body); 
       response.json(`${request.body.url}`); 
       url = response.json(`${request.body.url}`); 
       resolve(url); 
      } 
     }).then(data => console.log(data)); 
    }); 

答えて

0

response.json ... sends a Json response急行機能です。

あなたは

response.json(`${request.body.url}`); 
url = response.json(`${request.body.url}`); 

で二回それを呼んでいるが、あなたは一つのリクエストのための2つの応答を送信することができない、ということはできません。

最初の行を削除するだけです。

関連する問題