繁体   English   中英

在将Mongoose查询结果发送到客户端之前将其转换为JSON的原因是什么?

[英]What is the reason for converting a Mongoose query result to JSON before sending to client?

我正在使用Mongoose获取数据,并将其发送到客户端上的Ajax以进行显示:

Note.find({author: req.user._id}, function(err, notes) {
           // sending data
        }

如果我随它发送

res.send(notes)

我回来了,看起来像一个不错的JavaScript对象 我可以轻松地使用它

data[0]["note"]

而如果我先将查询结果转换为JSON

res.send(JSON.stringify(notes))

我得到一个字符串 ,我将不得不另外解析。 当初始查询结果已经使我能够使用数据时,为什么必须这样做?

您需要设置的一个常见标头是响应的Content-Type,以便客户端知道如何解释服务器在正文中发送的数据。

将Content-Type标头设置为application / json也很重要。

    res.setHeader('Content-Type', 'application/json');
    res.send(JSON.stringify(notes));

客户端框架查看响应的标头,然后尝试将数据转换为“ Content-Type”。 如果您的数据不是JSON,则显示文本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM