nodejs& express 4,res.json返回“Content-Type:text / plain”

时间:2015-10-24 13:04:45

标签: node.js express

当我的响应是json时,我正在尝试让我的应用程序返回“application / json”作为内容类型。

我试过了:

res.json(jsonContent);

response header has "Content-Type → text/plain; charset=utf-8"

res.setHeader('content-type', 'text/json');
res.send(jsonContent); 

response header has "Content-Type → text/plain; charset=utf-8"

res.set('content-type', 'text/json');
res.send(jsonContent); 

response header has "Content-Type → text/plain; charset=utf-8"

以及所有上述内容同时进行。但我的应用程序始终服务器响应为text / plain,而不是application / json。我可能做错了什么?

3 个答案:

答案 0 :(得分:3)

根据您的设置(和应用的中间件),如果客户端的请求不是使用Accept:application / json进行的,那么响应的内容类型可能会设置为text / plain。

答案 1 :(得分:2)

正如documentation所解释的那样:

res.type('json');               // => 'application/json'
res.type('application/json');   // => 'application/json'

将Content-Type HTTP标头设置为指定的类型。

答案 2 :(得分:0)

很可能你的路由没有按照你的想法行事,所以你完全不同于你想象的路线。可能你正在找到默认的404未找到的处理程序路由。发布Minimal, Complete, and Verifiable example而不是发布您认为错误的1行,我们可以帮助您找到问题。