标头无法重置的错误

时间:2015-07-02 18:10:40

标签: node.js

我有一个名为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.

1 个答案:

答案 0 :(得分:0)

发送重定向(res.json(...);)后,您无法发送回复(req.redirect(...);)。这将导致服务器在已经发送标题时尝试设置标题。