在客户端使用res.render {objects}

时间:2015-08-18 15:48:36

标签: javascript json node.js parsing stringify

我知道我不是那么好,这就是我在这里发帖的原因,但是:

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}]

但看起来不正确

我点击了此处的所有链接,但仍然必须发布此问题。

更新

用一个“帮助:

替换& quot
arr = "{{resultstringify}}"; // call it
arr = arr.replace(/"/g, '"'); //replace &quot with a single "
arr = JSON.parse(arr); //parse it
console.log(arr[0].name); //gives what you want

但我还是不知道& quot(而不是“)来自哪里。

2 个答案:

答案 0 :(得分:0)

我觉得你应该尝试在html页面上显示一次内容,如

<div>{{result}}</div>

您目前正在尝试使用console.log显示内容。 html向我显示正确的数据

答案 1 :(得分:0)

用一个&#34;替换&amp; quot;有助于:

arr = "{{resultstringify}}"; // call it
arr = arr.replace(/&quot;/g, '"'); //replace &quot with a single "
arr = JSON.parse(arr); //parse it
console.log(arr[0].name); //gives what you want