【发布时间】:2014-10-05 13:10:38
【问题描述】:
我有一个 REST API 服务,使用 Node.js + Express 编写,目前支持 JSON 格式的响应。
现在,我还需要添加对 JSONP 响应的支持,因此每个人都可以通过在请求字符串中添加 alt=JSONP 来获得它。
那么,我的问题是,最好的方法是什么?
可能,有模式,还是活生生的例子?
谢谢!
【问题讨论】:
标签: json node.js rest express jsonp
我有一个 REST API 服务,使用 Node.js + Express 编写,目前支持 JSON 格式的响应。
现在,我还需要添加对 JSONP 响应的支持,因此每个人都可以通过在请求字符串中添加 alt=JSONP 来获得它。
那么,我的问题是,最好的方法是什么?
可能,有模式,还是活生生的例子?
谢谢!
【问题讨论】:
标签: json node.js rest express jsonp
官方支持的方法如下--
首先,设置你的 JSONP 回调参数名称:
app.set('jsonp callback name', 'callback');
然后,将res.json 或res.send 的所有实例更改为res.jsonp。
例如res.jsonp(500, { error: 'message' })
如果在请求中提供了 callback 参数,则响应将使用提供的函数名称包装为 JSONP,但如果不是,它只会返回 JSON。
然后,这将返回 JSONP: GET /myapi/v1/users?callback=responseCallback
这不会: 获取 /myapi/v1/用户
【讨论】: