我是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" :{
}
});
}
}
});
});
答案 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
});
}
}