Javascript 节点json请求堆栈
大家好,我知道我的问题很简单,我是新使用json的Javascript 节点json请求堆栈,javascript,node.js,Javascript,Node.js,大家好,我知道我的问题很简单,我是新使用json的 var mysql = require('mysql'); function myCon(sql){ var con = mysql.createConnection({ host: "127.0.0.1", port: "3306", user: "root", password: "xxxxxx", database: "myDataBase", })
var mysql = require('mysql');
function myCon(sql){
var con = mysql.createConnection({
host: "127.0.0.1",
port: "3306",
user: "root",
password: "xxxxxx",
database: "myDataBase",
});
// here i'm passing sql query as var sql
con.query(sql, function(err, rows) {
if (err) { throw err }
else {
console.log(rows);
// here I want my response to be json response eg { key:value}
}
})
con.end();
}
module.exports.con = myCon;
结果是
[ RowDataPacket { countryId: 1, countryName: 'N/A' },
RowDataPacket { countryId: 2, countryName: 'UK' },
RowDataPacket { countryId: 3, countryName: 'USA' },
RowDataPacket { countryId: 4, countryName: 'UAE' } ]
我希望得到的答复是:
{ countryId: 1, countryName: 'N/A' },
{ countryId: 2, countryName: 'UK' },
{ countryId: 3, countryName: 'USA' },
{ countryId: 4, countryName: 'UAE' }
不带行数据包
并将其重新发送到ejs视图
[
RowDataPacket { countryId: 1, countryName: 'N/A' },
RowDataPacket { countryId: 2, countryName: 'UK' },
RowDataPacket { countryId: 3, countryName: 'USA' },
RowDataPacket { countryId: 4, countryName: 'UAE' }
]
这就是控制台显示结果的方式,因为从MySQL返回的数据类型是RowDataPacket
,但实际上您得到的只是您想要的对象,您不需要做任何事情
如果你真的想摆脱类型,你可以这样做
con.query(sql, function(err, rows) {
if (err) {
throw err
} else {
var str = JSON.stringify(rows);
rows = JSON.parse(str);
console.log(rows);
}
});
这就是控制台显示结果的方式,因为从MySQL返回的数据类型是RowDataPacket
,但实际上您得到的只是您想要的对象,您不需要做任何事情
如果你真的想摆脱类型,你可以这样做
con.query(sql, function(err, rows) {
if (err) {
throw err
} else {
var str = JSON.stringify(rows);
rows = JSON.parse(str);
console.log(rows);
}
});
您的结果看起来像是无效的javascript,这真的是您在日志中得到的吗?是的,我正在从其他js文件var country=mysql.con('select countryId,countryName from country')传递sql;您正在使用哪个MySQL模块?您的结果看起来像是无效的javascript,这真的是您在日志中得到的吗?是的,我正在从其他js文件var country=MySQL.con('select countryId,countryName from country')传递sql;您使用的是哪个MySQL模块?结果如何undefined@HussainAli-像上面那样尝试谢谢Deneo我明白了这一点,现在我可以将数据作为json传递给视图,使用for each with key和value返回结果undefined@HussainAli-像上面那样尝试谢谢Deneo我明白了这一点,所以现在我可以使用for each键和价值