我怎样才能避免res.render()生成'" '解析数组时?

时间:2018-05-04 15:19:13

标签: javascript node.js

Node.js在这里初学者。

从服务器解析数组到客户端时res.render()(据我所知)用'&quot'元素替换引号如下:

My topics var on client side

创建变量的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);,则变量会以此形式作为意外标识符到达: enter image description here

如何避免这种情况发生,以及从服务器到客户端解析数组的最佳做法是什么?

1 个答案:

答案 0 :(得分:1)

根据https://naltatis.github.io/jade-syntax-docs/#escaping,可以通过替换

来回显玉或哈巴狗中未转义的数据
var topics = #{topics};

var topics = !{topics};

这应该可以提供所需的输出。