在节点js中发送多个JSON对象列表

时间:2017-09-11 13:48:21

标签: json node.js express

我是node.js的新手可以有人告诉我如何使用res.send()方法发送多个数据库行吗?在上面的代码中我从数据库中获取多行但是当我将这些数据放入res.send()时没有为循环工作,并给我一个像"扔错了; //重新抛出非MySQL错误  ^

发送后无法设置标题。"

app.post(' /getUserList.htm',功能(REQ,RES){

console.log("Controller called..");

var Obj=req.body.json;
var data=JSON.parse(Obj);
console.log("Json is: " + data[0].username);
var query="SELECT * FROM app_user";
connect.connection.query(query,function(err,rows){
    if(err){
        console.log("Error is: "+err);
    }else{
        var jsonObject={};
        var key = 'detail';
        jsonObject[key] = [];
        for (var i = 0; i < rows.length; i++) { 
            console.log("UserName is :" + rows[i].SSO_ID);
            var details={
                "username":rows[i].SSO_ID,
                "PhoneNO" :rows[i].Wallet_Number
        };
            jsonObject[key].push(details);
            //JSON.stringify(jsonObject);
            console.log("JSON IS: " + jsonObject[key].userName);
            res.send({
            "data" :{   
        }
        }); 
        }

    }
});

});

1 个答案:

答案 0 :(得分:0)

你只需要传递jsonObject变量来响应所有。并且您的响应中有更多参数可用于识别您的响应类型。

connect.connection.query(query,function(err,rows){
 if(err){
        console.log("Error is: "+err);
        res.send({
            success: false,
            code: 401,
            error : error
        });
    }else{
        var jsonObject={};
        var key = 'detail';
        jsonObject[key] = [];
        for (var i = 0; i < rows.length; i++) { 
            console.log("UserName is :" + rows[i].SSO_ID);
            var details={
                "username":rows[i].SSO_ID,
                "PhoneNO" :rows[i].Wallet_Number
            };
            jsonObject[key].push(details);
            console.log("loop executes "+ i +"th time.."+rows[i].SSO_ID);
            //JSON.stringify(jsonObject);       
        }
        res.send({
            success: true,
            code: 200,
            data :jsonObject
        });
    }
}