繁体   English   中英

将json数据加载到工厂文件中

[英]Load json data into the factory file

我是AngularJS的新手,刚刚开始学习它。 如何在不直接添加整个数据的情况下将JSON文件加载到script.js文件中。 这是程序的代码:

<!DOCTYPE html>
<html ng-app="quizApp">
<head>
  <meta charset="utf-8" />
  <title>QuizApp</title>
  <link rel="stylesheet" href="style.css" />
  <script src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js"></script>
  <script src="script.js"></script>
</head>

<body>
  <div class="container">
    <h1 class="title">QuizApp</h1>
    <quiz/>
  </div>
</body>

Plunkr

您需要更正粘贴在ques.json的json(使用引号"" ),否则,如果您将调用$http.get() ,则会由于无效的json而获得异常。

一旦您纠正了ques.json的json内容,然后只需使用$http并将结果分配给questions变量即可。

例如

app.factory('quizFactory', function($http) {

    var questions = [];

   $http.get('ques.json').success(function(data) {
     questions = data;
   })


    return {
        getQuestion: function(id) {
            if(id < questions.length) {
                return questions[id];
            } else {
                return false;
            }
        }
    };
});

这是演示

 $http.get('ques.json')
       .then(function(result){
          $scope.questions = result.data;                
        });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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