我有一个名为server.js的主文件,其中有一个post方法来调用url的请求
var goToOther = require('./goToOther.js');
app.post ('/goToOther/', function (req, res) {
var data = {
"Error": 1,
"Zone" ""
};
sms.goToOther (req, res, msgsms;
});
我有另一个名为goToOther goToOther.js
的文件exports.goToOtherUrl = function (req, res, next, msgsms) {
var data = {
"Error": 1,
"Sms": ""
};
var url = "http://www.google.com.br";
req.redirect ({
uri: url,
method: "POST"
}, Function (error, response, body) {
console.log (error);
//console.log(body);
date ["error"] = 0;
date ["sms"] = "successfully sent";
res.json (data);
next ();
});
};
我读了一些关于它的文章并且不明白发生了什么,并且重复了几次我在他们之间读到的内容我试图重新创建一个新的post方法,它发送调用url但是继续给出错误,标题不能被重置。错误基本上是这样的:错误:无法在标题发送后设置。
at ServerResponse.OutgoingMessage.setHeader
Can't set headers after they are sent.
答案 0 :(得分:0)
发送重定向(res.json(...);
)后,您无法发送回复(req.redirect(...);
)。这将导致服务器在已经发送标题时尝试设置标题。