当前位置: 首页 > 面试题库 >

Node.js JSON.stringify()在输出中引起“。无法使用Jquery解析

李睿
2023-03-14
问题内容

我正在使用Node.js(与Express.js一起)将JSON数据对象从服务器传递到客户端视图。

当我将JSON对象直接呈现到视图时,我得到了预期显示在页面上的JSON对象(此工作):

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接受这种格式?

有什么想法吗?


问题答案:

因为当你打电话时

    res.render('search_tags.jade', { locals: {
        title: 'Search by Tags',
        'pages': pages,
        tagsJSON: JSON.stringify(tagsJSONObj) //pass the tags data as a JSON obj
        }
    });

search_tags.jade用于输出HTML,因此可以对您的引号进行编码。您应该使用不会转义HTML的渲染器,或者至少更改视图,以使参数不会被HTML编码

如果您不希望输出中的某些内容转义,请!{tagsJSON}在视图中使用。但是,在输出JSON时,不需要视图。您可以随身携带物品,致电JSON.stringify。我不使用JADE,所以不知道是否有一种方法可以创建只能调用的视图JSON.stringify(),但这就是我在JSP,Velture,ASP,PHP和Code
Igniter中所做的(不使用JSON.stringify,而是使用了给定语言的JSON工具)



 类似资料:
  • 问题内容: 我正在尝试使用numpy中的arpgpartition,但似乎出了点问题,我似乎无法弄清楚。这是正在发生的事情: 这些是排序数组的前5个元素 但是当我使用 当我认为应该得到与排序数组相同的结果时? 当我使用3作为参数时,它可以正常工作 这对我来说没有多大意义,希望有人可以提供一些见解? 编辑:重新解释这个问题,因为argpartition是否保留k个分区元素的顺序更有意义。 问题答案:

  • 为什么我在输出中得到一个额外的1*1,这有点倒退?有点像递归初学者,希望得到详细的答案。 输出

  • 我正在使用收集器的groupingBy和partioningBy函数。一份工作人员名单,人员名单如下: 我想要的是根据名字以字母“P”开头的人来划分列表,然后根据他们的年龄来分组。下面是我的代码,它执行上述过滤: 我得到的输出是: 现在,我的要求是从上面的结果只得到内部map。也就是说,我要将返回值更改为: 也就是说,我希望partioningBy函数返回的结果(或分区映射)的布尔值为true。我

  • 问题内容: 我使用以下代码将数据发送到MailChimp新闻列表(API v3)。每次我从函数中删除时,它都会尝试通过GET发布数据,并正确发送数据(在MailChimp API仪表板中可以确定响应)。在浏览器(FF)中进行测试时,我得到一个响应为“ true”的.part文件。 我将我的头发拔了出来,任何见识都将受到赞赏。 提前致谢, JN 问题答案: 主要问题是jc在您的原始帖子中评论了什么-

  • 问题内容: http://jsfiddle.net/YcK5X/ 我想知道为什么这个AJAX请求没有返回任何内容。 问题答案: 您想要echo:ed的数据必须在名为html的POST参数中提供:

  • 我正在学习OpenApi。我从Swagger那里得到了这个错误: TypeError: O是未定义的值parameter-row.jsx:149渲染root-injects.jsx:93React 8_renderValidatedComponentWithoutOwnerOrContext_renderValidatedComponent性能初始安装安装组件安装组件安装儿童_createInit