[英]AngularJS Parse JSON Array Objects Unexpected token :
我尝试搜索有关此问题的StackOverflow,但找不到适合我的解决方案。 我正在使用AngularJS。 我有一个简单的控制器,它调用http服务并读取响应数据。 在这种情况下,我有一个JSON输出,其中包含一个我无法读取的对象数组。
这是JSON输出:
{
"results": [{
"id": "1",
"download_url": "",
"uploader": {
"id": "114899"
},
"uploaded": "1442599380",
"streaming_url_timeout": 1446092554
}, {
"id": "2",
"download_url": "",
"uploader": {
"id": "114899"
},
"uploaded": "1442599380",
"streaming_url_timeout": 1446092554
}]
}
我正在尝试访问“结果”中的项目。 这是我的服务,用于检索JSON数据:
this.getUData = function() {
var deferred = $q.defer();
$http.jsonp(API_URL + 'udata')
.success(function(data) {
deferred.resolve(data);
})
.error(function(data) {
deferred.reject(data);
});
return deferred.promise;
}
然后这就是我从控制器调用此服务的方式:
myservices.getUData().then(function(data) {
$scope.uitems = data.results;
});
模板:
<div class="item" href="#" ng-repeat="item in uitems">
<h2>{{item.id}}</h2>
</div>
但是,当我尝试访问“结果”中的项目时,出现以下错误:
Uncaught SyntaxError: Unexpected token :
此错误的相关行是"results":[
看起来在这种情况下,回调函数在PHP服务器上无法正常工作,因此我设法通过在$ http服务中使用“ GET”方法来逃脱,如下所示:
this.getUData = function() {
var deferred = $q.defer();
$http({method: 'GET', url: API_URL + 'udata'})
.success(function(data) {
deferred.resolve(data);
})
.error(function(data) {
deferred.reject(data);
});
return deferred.promise;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.