[英]Using res.render {objects} on client side
我知道那不是很好,那就是我在這里發布的原因,但是:
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();
節點控制台給我:
[{名稱:“ FAKE”,名稱:“ FAKE”,等級:1}]
[{“ name”:“ FAKE”,“ lname”:“ FAKE”,“ rank”:1}]
然后,我追求:
router.get('/', function(req, res, next) {
res.render('players',
{ title: "New page", result: result, resultstringify : resultstringify } );
});
然后在客戶端
console.log("{{result}}");
並接收[對象對象]
console.log("{{resultstringify}}");
並收到[{"name":"FAKE","lname":"FAKE","rank":1}]
console.log( JSON.parse("{{resultstringify}}"));
並收到Uncaught SyntaxError:意外令牌&(這是第一個字母[{“ ...])
我希望我已經弄懂了所有解析/字符串化的東西,並且很容易解決,但是我想以正確的方式發送和接收它。 目前我能收到的最好的東西是
[{"name":"FAKE","lname":"FAKE","rank":1}]
但是看起來不對
我確實單擊了此處的所有鏈接,但仍然必須發布此問題。
更新:
用單個“替換”可以幫助:
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
但我仍然無法確定“(不是)”來自何處。
我認為您應該嘗試在html頁面上一次顯示內容的地方
<div>{{result}}</div>
您當前正在嘗試使用console.log顯示內容。 HTML向我顯示正確的數據
用單個“替換”可以幫助:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.