繁体   English   中英

AngularJS:不能使用JSON

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM