我知道我不是那么好,这就是我在这里发帖的原因,但是:
con.connect();
con.query('SELECT name, lname, rank FROM players LIMIT 1', function(err,rows, fields){
if(err) throw err;
result = rows;
resultstringify = JSON.stringify(rows);
console.log(result);
console.log(resultstringify);
});
con.end();
节点控制台给了我:
[{name:'FAKE',lname:'FAKE',rank:1}]
[{ “名称”: “假的”, “L-NAME”: “假的”, “等级”:1}]
然后,我去了:
router.get('/', function(req, res, next) {
res.render('players',
{ title: "New page", result: result, resultstringify : resultstringify } );
});
然后在客户端我做
console.log("{{result}}");
并收到[object Object]
console.log("{{resultstringify}}");
并收到[{"name":"FAKE","lname":"FAKE","rank":1}]
console.log( JSON.parse("{{resultstringify}}"));
并接受 未捕获的SyntaxError:意外的令牌& (这是第一个字母[{“...)
我希望我已经搞砸了所有解析/字符串化的东西,而且它很容易修复,但我想以正确的方式发送和接收它。目前我能收到的最好的东西是
[{"name":"FAKE","lname":"FAKE","rank":1}]
但看起来不正确
我点击了此处的所有链接,但仍然必须发布此问题。
更新
用一个“帮助:
替换& quotarr = "{{resultstringify}}"; // call it
arr = arr.replace(/"/g, '"'); //replace " with a single "
arr = JSON.parse(arr); //parse it
console.log(arr[0].name); //gives what you want
但我还是不知道& quot(而不是“)来自哪里。
答案 0 :(得分:0)
我觉得你应该尝试在html页面上显示一次内容,如
<div>{{result}}</div>
您目前正在尝试使用console.log显示内容。 html向我显示正确的数据
答案 1 :(得分:0)
用一个&#34;替换&amp; quot;有助于:
arr = "{{resultstringify}}"; // call it
arr = arr.replace(/"/g, '"'); //replace " with a single "
arr = JSON.parse(arr); //parse it
console.log(arr[0].name); //gives what you want