AngularJs和jsonp无法正常工作

时间:2015-04-27 17:20:41

标签: angularjs jsonp

我在使用jsonp和AngularJs时遇到了一些问题

我是一页,我必须通过jsonp进行大约15次json调用

我的电话看起来像这样:

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

在我的json Feed中,数据由JSON_CALLBACK1

包装

但我总是得到这个错误:

  

未捕获的ReferenceError:未定义JSON_CALLBACK1

现在我注意到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开始包装我所有的jsons ...我注意到这个数字并不总是一样的?如果数字是两位数,则不起作用。例如,我尝试了angular.callbacks._15,我总是得到这个错误

  

未捕获的ReferenceError:angular.callbacks._15未定义

那么有没有办法用AngularJs一次性修复所有这些jsonp问题?

由于

1 个答案:

答案 0 :(得分:1)

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

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

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

您可以在wikipedia中找到更多详情。