[英]AngularJS: Can't use JSON
这是从我的API中检索的JSOn文件:
{
"pid":12925,
"a":"How is this a palindrome hexagon oriennted? (digits should not be repeated)",
"c":"",
"opts":{
"A":"216",
"B":"69",
"C":"72",
"D":"96",
"answer":"X"
},
"ansDetails":{
"ans":"<p>This is question is invalud</p>",
"ansPid":null,
"pt":"X"
}
}
我写的角度代码:
控制器:
testControllers.controller('DetailsController', ['$scope', '$http','$routeParams' ,function($scope, $http, $routeParams) {
$http.get('http://url_of_theapi').success(function(data) {
$scope.questions = data;
$scope.parseInt = parseInt;
});
}]);
视图:
<section class="a">
<div class="mcq">
<div>
<h3>QUESTION</h3>
<p class>{{questions.pid}}</p>
<ul>
<li class= "optlist" ng-repeat="item in questions.opts">
<label class="formgroup">
<input type="radio" name = "q">
{{item.val}}
</label>
</li>
</ul>
</div>
</div>
</section>
我该如何解决? 这是Angular还是JSON问题?
问题:无法显示来自JSON的数据。
更新 :该错误是由于:
跨域请求被阻止: 同源策略禁止读取位于http:// url_of_api的远程资源。 (原因:CORS标头“ Access-Control-Allow-Origin”缺失)。
我该如何解决?
{{ item.val }}
不存在,
要么使用{{ item }}
或者如果您想要密钥,还可以使ngRepeat
像这样:
`ng-repeat="(key, val) in questions.opts"`
所以在第一次迭代中:
{{ key }} => a
{{ val }} => 216
我认为您必须使用JSON.parse(jsonString)
或其他可用函数将json转换为对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.