angularjs jsonp php,解析angular.js中的JSONP $ http.jsonp()响应

自Angular 1.6您不能再使用JSON_CALLBACK字符串作为占位符来指定回调参数值应该去的位置

您现在必须定义回调,如下所示:

$http.jsonp('some/trusted/url', {jsonpCallbackParam: 'callback'})

更改/访问/声明参数通过$http.defaults.jsonpCallbackParam,默认为callback

注意:您还必须确保将您的网址添加到可信/白名单中:

$sceDelegateProvider.resourceUrlWhitelist

或明确信任通过:

$sce.trustAsResourceUrl(url)

success/error被弃用了。在$http传统方法的承诺success,并error已被弃用,并将在V1.6.0被删除。请改用标准方法。如果$httpProvider.useLegacyPromiseExtensions设置为false那么这些方法将抛出$http/legacy error。

使用:var url = "http://public-api.wordpress.com/rest/v1/sites/wtmpeachtest.wordpress.com/posts"var trustedUrl = $sce.trustAsResourceUrl(url);$http.jsonp(trustedUrl, {jsonpCallbackParam: 'callback'})

.then(function(data){

console.log(data.found);

});

上一个答案:Angular 1.5.x及之前

所有你应该做的是更换callback=jsonp_callback到callback=JSON_CALLBACK像这样:var url = "http://public-api.wordpress.com/rest/v1/sites/wtmpeachtest.wordpress.com/posts?callback=JSON_CALLBACK";

.success如果返回成功,那么你的函数应该就像你拥有它一样。

这样做可以避免弄脏全局空间。这是AngularJS文档中记录在这里。

完整示例:var url = "http://public-api.wordpress.com/rest/v1/sites/wtmpeachtest.wordpress.com/posts?callback=JSON_CALLBACK";$http.jsonp(url)

.success(function(data){

console.log(data.found);

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值