使用由express提供的web提交的值来使用request + cheerio启动抓取。
这些部分单独工作,当放在一起时我得到一个错误:发送后不能设置标题。
这里有什么问题?
router.post('/', function(req, res){
res.json('processing')
crawl(r.keyword, r.tld, r.brand).then(function(d){
userObject.urlCache = d;
})
})
答案 0 :(得分:0)
res.json('processing')
会发送回复。发送响应后,您无法修改标头。从代码片段中不清楚在发送响应后修改响应的内容。
有关快速回复对象的更多信息:http://expressjs.com/en/api.html#res.json
还有比res.json更多的响应选项。你并不是真的在你的例子中发送json。您可能需要res.send('processing')
,但这不会解决您的设置标题问题。
答案 1 :(得分:0)
您应先设置标头,然后再发送请求。
res.setHeader('charset', 'utf-8');
res.send('processing');