狐狸.fox 2016-01-06 03:23 采纳率: 0%
浏览 39

Node.js上的错误Ajax

I am developing a webapp using nodejs, I make the register using request.session, and I use ajax to make a request, when I use a conditional to get some information (an ID) I get an error.

router.post("/admin", function(request, response){  
    var data = {};

    sess = request.session;
    sess.username = request.body.input_user_admin;
    sess.password = request.body.input_password_admin;

    if(sess){
        // Verificate user existence (in a database) to login
        if(loginFunctions.userIsRegistered(sess.username, sess.password, admins)){
            for(var i=0; i<admins.length; i++){
                if(admins[i].name == sess.username && admins[i].password==loginFunctions.md5(sess.password)){
                    i = admins.length;
                    data["devices"] = devices;
                    data["users"] = users;
                    data["sess"] = sess;
                    response.render('admin', data);
                }
            }
        }
        else{
            response.redirect('/adminLogin');
        }
    }

    else if(request.body["idUserToDelete"]){
        console.log("SISAS ÑOTE");
        Users.remove({"_id": request.body["idUserToDelete"]}, function(err){});
        updateUsersReading();
        data["devices"] = devices;
        data["users"] = users;
        //response.send(data);
    }

    else if(request.body["dataCodes"]){
        updateDataFromCodesAdmin(request.body);
        updateDevicesReading();

        data["devices"] = devices;
        data["users"] = users;

        response.render('admin', data);
    }

    else if(request.body["newDevices"]){
        addNewDevicesToDB(request.body, sess, response);
        updateDevicesReading();
        data["devices"] = devices;
        data["users"] = users;
        response.render('admin', data);
    }

    else{
        response.redirect('/adminLogin');
    }
});

This is the error

Error: Can't set headers after they are sent.
at ServerResponse.OutgoingMessage.setHeader (http.js:691:11

And in general, How can I send data like answer to an ajax request to the view (admin.jade), so I use response.send(data) and I have problems?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 高德地图点聚合中Marker的位置无法实时更新
    • ¥15 DIFY API Endpoint 问题。
    • ¥20 sub地址DHCP问题
    • ¥15 delta降尺度计算的一些细节,有偿
    • ¥15 Arduino红外遥控代码有问题
    • ¥15 数值计算离散正交多项式
    • ¥30 数值计算均差系数编程
    • ¥15 redis-full-check比较 两个集群的数据出错
    • ¥15 Matlab编程问题
    • ¥15 训练的多模态特征融合模型准确度很低怎么办