栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在angular.js中解析JSONP $ http.jsonp()响应

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在angular.js中解析JSONP $ http.jsonp()响应

更新:从Angular 1.6开始

您不能再使用JSON_CALLBACK字符串作为占位符来指定回调参数值应放在何处

您现在必须像这样定义回调:

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

通过更改/访问/声明参数

$http.defaults.jsonpCallbackParam
,默认为
callback

注意:您还必须确保将URL添加到受信任/白名单中:

$sceDelegateProvider.resourceUrlWhitelist

或通过以下方式明确信任:

$sce.trustAsResourceUrl(url)

success/error

被弃用了

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

使用:

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文档中记录在这里。

更新了Matt Ball的小提琴以使用此方法:http :
//jsfiddle.net/subhaze/a4Rc2/114/

完整示例:

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);    });


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/420648.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号