AngularJS: не могу использовать JSON

0

Вот файл JSOn, который извлекается из моего API:

{  
   "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>

Как это исправить? Это проблема углового или JSON?

Проблема: данные JSON не отображаются.

Обновление: ошибка возникает из-за:

Запрос на перекрестный запрос заблокирован: политика одинакового происхождения запрещает чтение удаленного ресурса по адресу http://url_of_api. (Причина: заголовок CORS "Access-Control-Allow-Origin" отсутствует).

Как это исправить?

  • 1
    Вы действительно не объяснили, что у вас за проблема. В коде определенно есть проблемы, но ваш вопрос должен включать в себя правильное описание проблемы, чтобы люди знали, на какую часть смотреть. «не могу использовать JSON» является бессмысленным описанием
  • 0
    Сожалею. Данные из файлов JSON не отображаются ...
Показать ещё 3 комментария

2 ответа

0

Я думаю, вам нужно преобразовать json в объект с помощью JSON.parse(jsonString) или других доступных функций.

0

{{ item.val }} не существует,

либо используйте {{ item }}

или если вы хотите, чтобы ключ также сделал ваш ngRepeat следующим:

'ng-repeat="(key, val) in questions.opts"'

поэтому на первой итерации:

{{ key }} => a
{{ val }} => 216
  • 0
    Благодарю. Но даже questions.t не отображается.
  • 0
    почему отрицание?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню