2014-10-05 36 views
1

我正在使用nodejs,我想要制作一个统一的处理程序,以基于从客户端请求的JSON或HTML提供服务。根据要求提供JSON或HTML服务吗?

到目前为止,我虽然简单地传递变量在请求主体,我可以服务

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

前检查,而不是传递变量在请求体,但,是有什么在页眉或什么本质不同jQuery.getJSON()jQuery.get()之间我用来区分?

回答

3

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

Accept: application/json 

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

Accept: text/html 

然后您发送回html。

+1

...并根据http://stackoverflow.com/a/1080985/4323此标头自动发送'getJSON()'。 – 2014-10-05 04:32:19