簡體   English   中英

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

[英]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 &quot 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(/&quot;/g, '"'); //replace &quot 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM