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

Using res.render {objects} on client side

本文关键字:objects render res 客户端      更新时间:2023-09-26

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

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();

Node console给我:

({name:‘假’,lname:"假",排名:1}]
[{"名称":"假的","lname":"假的","等级":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替换为单个" help:

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

但是我还是想不出" (and not ")是从哪里来的

我认为你应该尝试在html页面上显示一次内容,比如

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

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

将& "替换为一个" help:

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