Node.js在这里初学者。
从服务器解析数组到客户端时res.render()(据我所知)用'"'
元素替换引号如下:
创建变量的index.pug的一部分:
var topics = #{topics};
创建和解析变量的index.js的一部分:
router.get('/', function(req, res) {
var data = [];
papers.getAllTopics(function(err, content) {
if(err) {
throw err;
} else {
for (var i = 0; i<content.length; i++){
data.push(content[i].TOPIC);
}
// console.log(JSON.stringify(data));
data = JSON.stringify(data);
console.log(data);
// res.send(data);
}
res.render('index', { title: 'Xintra | Home', "topics": data});
});
});
如果我删除data = JSON.stringify(data);
,则变量会以此形式作为意外标识符到达:
如何避免这种情况发生,以及从服务器到客户端解析数组的最佳做法是什么?
答案 0 :(得分:1)
根据https://naltatis.github.io/jade-syntax-docs/#escaping,可以通过替换
来回显玉或哈巴狗中未转义的数据var topics = #{topics};
与
var topics = !{topics};
这应该可以提供所需的输出。