AngularJs 和 jsonp 不工作

AngularJs and jsonp not working

我在使用 jsonp 和 AngularJs

时遇到一些问题

我一页,我必须进行大约 15 json 个调用,每个调用由 jsonp

我的电话是这样的:

$http.jsonp("http://www.example.com/feed1.json?callback=JSON_CALLBACK1")

在我的 json 提要中,数据由 JSON_CALLBACK1

包装

但我总是得到这个错误:

Uncaught ReferenceError: JSON_CALLBACK1 is not defined

现在我在 Google Chrome 检查器的网络选项卡中注意到呼叫是:

http://www.example.com/feed1.json?callback=angular.callbacks._0

所以我更改了我的 json 文件,改为用 angular.callbacks._0(); 包装数据,它适用于这个文件,但它不适用于我所有的 json

我开始用 angular.callbacks._1、angular.callbacks._2、angular.callbacks._3 包裹我所有的 json ......我注意到这个数字是总是一样吗?如果数字是两位数,则不起作用。例如,我尝试了 angular.callbacks._15,但我总是得到这个错误

Uncaught ReferenceError: angular.callbacks._15 is not defined

那么有没有办法用 AngularJs 一劳永逸地解决所有这些 jsonp 问题?

谢谢

callback=angular.callbacks._123 参数是服务器的信息,客户端(浏览器)希望将响应包装在名为 angular.callbacks._123 的函数中,如下所示:

angular.callbacks._123({
 "key": "value"
});

您应该更改服务器代码以检查参数值,如果存在,则将其用作 wrapping 函数名称。

您可以在 wikipedia 中找到更多详细信息。