从AngularJS中的JSON resp解析$
Parsing $ from JSON resp in AngularJS?
如何在$
中从AngularJS中的JSON HTTP响应进行解析?
尝试在没有JQuery:的情况下获取YouTube搜索结果
$http.get('http://gdata.youtube.com/feeds/api/videos/-/chocolate?alt=json&orderby=published')
.success(function (data) {
$scope.video_list = data;
})
.error(function (data) {
$scope.video_list = data;
});
没有错误响应,在合并时得到一个Object;但不能在其中查询。
$scope.video_list_fun = function () {
$http.get('http://gdata.youtube.com/feeds/api/videos/-/chocolate?alt=json&orderby=published').then(function (response) {
$scope.video_list = response.data;
});
};
这里也一样,用,
链的else
也试过了。
$scope.video_list = (httpGet('http://gdata.youtube.com/feeds/api/videos/-/chocolate?alt=json&orderby=published'
)); // HttpGet from http://stackoverflow.com/a/4033310/587021
这是有效的,但当我解析它时,例如:使用JSON.parse
;AngularJS去掉了所有带有$
的密钥。
需要注意的是,我已经尝试过他们的另一个API,但无法获得相同的结果(并且无法包含他们发布日期和质量的有用参数;因为它已损坏)。
它看起来像是一个跨域限制。看看使用$http.jsonp是否适用。
查看YouTube文档中的"将数据API与JavaScript一起使用",其中指出您需要使用alt=json-in-script
和callback
参数。
所以不访问:
$http.get('http://gdata.youtube.com/feeds/api/videos/-/chocolate?alt=json&orderby=published')
您将访问:
$http.jsonp('http://gdata.youtube.com/feeds/api/videos/-/chocolate?alt=json-in-script&orderby=published&callback=JSON_CALLBACK')
注意差异:
- 使用
jsonp
而不是get
- 使用
alt=json-in-script
而不是alt=json
(注意,这可能因API文档而异) - 添加
callback=JSON_CALLBACK
(注意,根据API文档,这可能有所不同,但AngularJS正在响应中查找JSON_CALLBACK
查看此fiddle以查看工作版本(与基于原始代码的fiddle进行比较)。
还可以查看这篇维基文章,了解更多关于JSONP的信息。
相关文章:
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 使用JQuery解析JSON嵌套数组
- 可以简化嵌套的延迟Q Promises解析吗
- 我的模板未被解析
- 如何在Javascript中解析AJAX数组的特定部分
- 主干集合重置和解析
- 解析javascript表单验证器
- 可以't使用Angular解析/检索JSON
- 如何使用Node.js最有效地解析网页
- 当json解析空响应时,Whatwg-Fetch失败,我该如何防止它
- 可以't使用Appcelerator将JSON文件解析为JavaScript中的TableView
- 解析JSON并从中删除对象会出错
- jquery创建的数据-*有时无法解析
- 延期承诺值未更新/解析/延期
- [Vue warn]:未能解析组件
- 在解析对象.save()中;没有返回任何原因
- 测试角度解析方法
- 对象未在Javascript中进行字符串化和解析
- AngularJS加载JSON数据,然后从中解析/加载HTML
- 从AngularJS中的JSON resp解析$