在 AngularJS 中设置 JSONP 回调函数

Posted

技术标签:

【中文标题】在 AngularJS 中设置 JSONP 回调函数【英文标题】:Setting the JSONP callback function in AngularJS 【发布时间】:2013-01-09 10:45:21 【问题描述】:

我正在尝试通过 Angular $resource 服务从 Web API 获取数据。该服务公开 JSONP 接口,但不允许设置回调名称。一切正常,我的请求出去了,数据返回了,脚本被注入了,然后因为没有定义回调函数而失败。

Angular 文档在这方面非常稀少,但 Angular 设置的默认回调函数似乎是:JSON_CALLBACK,并且没有信息如何更改它以匹配外部 API 返回的函数。

谢谢。

【问题讨论】:

【参考方案1】:

我认为没有任何规定可以覆盖该回调。

$resource 是基于 $http 服务的高级 Restful api。

您可以使用 $http apis,它返回 http 承诺对象并让您编写成功回调,您可以在其中处理从 ajax 请求返回的数据。

e.g. http://docs.angularjs.org/api/ng.$http#jsonp

【讨论】:

以上是关于在 AngularJS 中设置 JSONP 回调函数的主要内容,如果未能解决你的问题,请参考以下文章

如何从 angularjs 中的 JSONP 错误回调中获取数据?

如何使用 angularjs $http 修复我的 jsonp 回调以解决“意外令牌”错误?

如何自定义设置 angularjs jsonp 回调名称?

angularjs中jsonp请求的异常处理

Angularjs - 如何在服务中设置模块值?

使用 ngResource 在 AngularJS 中设置 enctype