2016-05-10 5 views
0

webfromによって提出された値を使用してexpressを使用して、要求+ cheerioを使用してクロールを開始します。nodejs express - cant setヘッダー

部品が別々に動作するときにエラーが発生する:送信後にヘッダーを設定できない。

ここに何が間違っていますか?

router.post('/', function(req, res){ 

    res.json('processing')   

    crawl(r.keyword, r.tld, r.brand).then(function(d){ 

     userObject.urlCache = d; 

    }) 
}) 
+0

このエラーは、応答が2回送信されたことを意味します。理由はこのコードでは不明です。あなたはポストリクエストトリートメントを実行しますか?また、すべてのエラーハンドラを慎重にバインドできますか? http://odetocode.com/blogs/scott/archive/2015/10/01/javascript-promises-and-error-handling.aspx –

答えて

0

res.json('processing')が応答を送信します。応答を送信した後でヘッダーを変更することはできません。あなたがコードスニペットから何が送信された後に応答を変更しているのかははっきりしていません。特急応答オブジェクトの詳細については

http://expressjs.com/en/api.html#res.json

はまたres.jsonよりも多くの応答オプションがあります。あなたは実際にあなたの例ではjsonを送信していません。 res.send('processing')が必要かもしれませんが、それはあなたのセットヘッダーの問題を修正しません。

0

最初にヘッダーを設定し、要求を送信する必要があります。

関連する問題