我正在使用 Node.js(使用 Express.js)将 JSON 数据对象从服务器传递到客户端视图。
当我将 JSON 对象直接呈现到视图时,我得到了页面上显示的 JSON 对象,如预期的那样(这个 WORKS):
pageprovider.findAllTag( function(error, pages){
res.send(pages);
})
我的输出看起来像这样(更大,许多嵌套的obj)
{"green":{"title":"green","pagesContaining": ""}}
当我尝试像这样将它传递给我的 Jade View 时:
pageprovider.findAllTag( function(error, tagsJSONObj){
//res.send(pages);
pageprovider.findAll( function(error, pages){
res.render('search_tags.jade', { locals: {
title: 'Search by Tags',
'pages': pages,
tagsJSON: JSON.stringify(tagsJSONObj) //pass the tags data as a JSON obj
}
});
}) //pageprovider.findAll
}) //pageprovider.findAllTag
问题
当我将“tagsJSON”传递给视图时,输出包括 html 实体:
var obj = jQuery.parseJSON( "{"name": 'value'}");
JQuery 抛出一个错误,因为它不喜欢 '"'。我怎样才能让 Node 给我正确的报价,或者让 jQuery 接受这种格式?
有什么想法吗?