如何在node.js + Express中同时支持json和jsonp响应?

Ilj*_*ovs 3 rest json jsonp node.js express

我有一个REST API服务,写在Node.js + Express上,目前支持JSON格式的响应.

现在,我还需要添加对JSONP响应的支持,所以每个人都可以通过在请求字符串中添加alt = JSONP来获取它.

所以,我的问题是,这是最好的方法吗?

可能,有一个模式,或生活的例子?

谢谢!

fur*_*oid 6

官方支持的方法如下 -

首先,设置您的JSONP回调参数名称:

app.set('jsonp callback name', 'callback');

然后,更改的所有实例res.jsonres.sendres.jsonp.例如,res.jsonp(500, { error: 'message' })

如果callback在请求中提供参数,则响应将使用提供的函数名称包装为JSONP,但如果不是,则它将仅返回JSON.

然后,这将返回JSONP:GET/myapi/v1/users?callback = responseCallback

这不是:GET/myapi/v1/users

参考http://expressjs.com/4x/api.html#res.jsonp