根据要求提供JSON或HTML服务?

我正在使用nodejs,我想要一个统一的处理程序来服务于JSON或HTML基于哪一个被请求从客户端。

到目前为止,我只是简单地传递一个variables在请求体中,我可以在服务之前检查

app.use(function(req, res) { if (req.body.requested=='JSON') res.json(... else res.render(... 

但是,而不是在请求正文中传递variables,是否有东西在标题或jQuery.getJSON()jQuery.get() ,我用来使差异的内在不同之处?

是的,更好的方法是简单地检查请求的Accept头。 例如,如果标题说:

 Accept: application/json 

那么发回JSON是适当的。 或者例如,

 Accept: text/html 

然后你发回html。