Javascript 节点抛出新错误(';Can\';无法在发送头后设置头。';)

Javascript 节点抛出新错误(';Can\';无法在发送头后设置头。';),javascript,node.js,express,Javascript,Node.js,Express,我的一个节点调用存在上述问题。 据我所知,此错误显示您res.send是否多次被调用。 看看代码,它应该只发送res一次,所以我不确定这里出了什么问题 当我插入时,它抛出错误 var express = require('express'); var bodyParser = require('body-parser'); var session = require('express-session'); var cors = require('cors'); var massive = req

我的一个节点调用存在上述问题。 据我所知,此错误显示您res.send是否多次被调用。 看看代码,它应该只发送res一次,所以我不确定这里出了什么问题

当我插入时,它抛出错误

var express = require('express');
var bodyParser = require('body-parser');
var session = require('express-session');
var cors = require('cors');
var massive = require('massive');
var config = require('./config');
var app = express();
app.use(bodyParser.json());
app.use(cors());

var db = massive.connect({connectionString: config.connectionString}, function(err, localdb){
    db = localdb;
    app.set('db', db);
});
app.post('/api/login', function(req, res, next) {
    db.get_users(function(err, users) {
        if(err) res.status(500).json(err);
        else {
            for(var i = 0; i < users.length; i++) {
                if(req.body.email == users[i].email && req.body.password == users[i].password) {
                    console.log("matched");
                    var currentUser = users[i];
                    res.send({
                        msg: 'passed',
                        user: currentUser
                    });
                }
                else { res.send("Username or Password is wrong"); }
            }
        }
    })
})
app.listen(3000, function() {
    console.log("I am listening");
});
var express=require('express');
var bodyParser=require('body-parser');
var会话=需要(“快速会话”);
var cors=要求(“cors”);
var massible=需要(“massible”);
var config=require('./config');
var-app=express();
use(bodyParser.json());
应用程序使用(cors());
var db=massive.connect({connectionString:config.connectionString},函数(err,localdb){
db=localdb;
应用程序集('db',db);
});
app.post('/api/login',函数(req,res,next){
db.get_用户(函数(err,users){
if(err)res.status(500).json(err);
否则{
对于(var i=0;i
您在
for
循环中执行
res.send()
。这意味着你要打多次电话。您看到的错误是在尝试向同一请求发送多个响应时引起的。你不能那样做


我不知道您到底想完成什么,但是您可以在
for
循环中累积结果,并在
for
循环后发送一个响应,或者在发送响应后,您可以中断或退出
for
循环。关键是您只能发送一个响应。

谢谢您的回答。找到答案时返回,修复了此问题。