Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 影响当前请求的上一个请求的响应头_Node.js_Express - Fatal编程技术网

Node.js 影响当前请求的上一个请求的响应头

Node.js 影响当前请求的上一个请求的响应头,node.js,express,Node.js,Express,以下代码是我们正在构建的新节点应用程序中面向用户的部分: var loadInvoice = function(req, res, next) { Invoice.findById(req.params.invoiceId, function (err, invoice) { if (err) { res.send(404, 'Page not found'); } else { req.invoic

以下代码是我们正在构建的新节点应用程序中面向用户的部分:

var loadInvoice = function(req, res, next) {
    Invoice.findById(req.params.invoiceId, function (err, invoice) {
        if (err) {
            res.send(404, 'Page not found');
        } else {    
            req.invoice = invoice;
            next();
        }
    });
};

app.namespace('/invoices/:invoiceId', loadInvoice, function () {

    app.get('', function(req, res){
        var templateVals = {
            //some template data
        };
        res.render('paymentselection', templateVals);
    });

    app.post('', function(req, res){
        var data = {
            // some data for the apiCall
        };

        someAPI.someRequest(data, function(err, data) {
            console.log(res.status());
            res.redirect(data.url);
        });
    });

});
第一种方法返回一个确认页面,用户按下按钮发布到同一url,这会触发重定向到外部网站

这一切只工作一次。发送后,每秒钟的请求都会导致应用程序崩溃,并显示消息“无法设置标题”。在仔细检查代码之后,我找不到发生这种情况的原因,所以我添加了console.log行,这确实确认了位置头已经设置好。但是它被设置为我在前一个请求中从someAPI获得的值,而不是当前的值

这对我来说毫无意义。我不会将此值存储在任何地方,也不会以任何方式缓存或持久化此数据

有人知道这是什么原因吗


我使用express、express namespace、mogoose和swig

我发现问题是由“someAPI”中使用的“Restler”libaray引起的。我不知道这是怎么可能的,但换成其他东西解决了这个问题