【问题标题】:nodejs express - cant set headersnodejs express - 无法设置标题
【发布时间】:2016-05-10 12:13:55
【问题描述】:

使用由 express 提供的 webfrom 提交的值使用 request +cheerio 启动抓取。

这些部分单独工作,当放在一起时出现错误:发送后无法设置标题。

这里有什么问题?

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

    res.json('processing')        

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

       userObject.urlCache = d;

     }) 
})

【问题讨论】:

标签: node.js express cheerio requestjs


【解决方案1】:

res.json('processing') 将发送响应。发送响应后,您无法修改标头。从您的代码 sn-p 中不清楚什么是在发送响应后修改响应。

有关快速响应对象的更多信息:http://expressjs.com/en/api.html#res.json

还有比 res.json 更多的响应选项。在您的示例中,您并没有真正发送 json。您可能想要res.send('processing'),但这不会解决您设置的标题问题..

【讨论】:

    【解决方案2】:

    你应该先设置header,然后再发送请求。

    res.setHeader('charset', 'utf-8');
    res.send('processing');
    

    【讨论】:

      猜你喜欢
      • 2018-01-22
      • 2014-09-08
      • 1970-01-01
      • 2017-03-03
      • 1970-01-01
      • 2019-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多