我的路由器设置如下:
questionRouter.post('/questionsReply', (req, res) => {
twilioResp(req, res);
var newResponse = new Response(req.body);
newResponse.save((err, data) => {
if (err) return handleDBError(err, res);
res.status(200).json(data);
});
console.log('From: ' + req.body.From);
console.log('Message: ' + req.body.Body);
});
我试图将收到的回复保存到我的mongodb中.但是,我收到错误后发送无法设置标头.我很确定这是因为twilioResp()上面的函数.该代码是:
module.exports = exports = (req, res) => {
var resp = new twilio.TwimlResponse();
resp.message('Thank you! Your response "' + req.body.Body + '" has been saved!');
res.writeHead(200, {'Content-Type': 'text/xml'});
res.send(resp.toString());
};
此模块是对通过Twilio REST API接收的文本的自动响应.有没有办法在同一个POST请求中调用这两个?
解决方法:
Instead of
res.send()
you should useres.write()
to send multiple responses.
res.send()
sends entireHTTP
response to the client includesheaders
andcontent
even itends the response
.
And after that, you can’t send anything.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。