以下是从我的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'。)
我该如何解决这个问题?
答案 0 :(得分:0)
{{ item.val }}
不存在,
使用{{ item }}
或者如果你想让密钥也像你的ngRepeat
那样:
`ng-repeat="(key, val) in questions.opts"`
所以在第一次迭代中:
{{ key }} => a
{{ val }} => 216
答案 1 :(得分:0)
我认为您必须使用JSON.parse(jsonString)
或其他可用功能将您的json转换为对象。