Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用angular工厂将json文件加载到template.html时遇到问题_Json_Angularjs_Fetch_Factory - Fatal编程技术网

使用angular工厂将json文件加载到template.html时遇到问题

使用angular工厂将json文件加载到template.html时遇到问题,json,angularjs,fetch,factory,Json,Angularjs,Fetch,Factory,我试图理解如何使用工厂,并努力理解一些事情 我想将json文件加载到模板中,但我遇到了麻烦 myApp.factory('getUsersFactory',['$http',function($http){ return { getUsers: function(callback){ $http({method: 'JSONP', url: "users.json?query=?callback=JSON_CALLBACK&query="+ $scope.s

我试图理解如何使用工厂,并努力理解一些事情

我想将json文件加载到模板中,但我遇到了麻烦

myApp.factory('getUsersFactory',['$http',function($http){
   return {
     getUsers: function(callback){
       $http({method: 'JSONP', url: "users.json?query=?callback=JSON_CALLBACK&query="+ $scope.searchString}).success(callback);
     }
   }
}]);

myApp.factory('Tester', function($resource) {
  return $resource('users.json');
});

myApp.controller('PersonCtrl', function ($scope, Tester, getUsersFactory) {

  // Teens are from static json file
  $scope.users = Tester.query();

  // Adults are from REST API
  $scope.teens = getUsersFactory.query();

});
如果您查看我的示例,您将看到我正在尝试从users.json文件内容加载到main.html

我希望能够将多个json文件加载到main.html中

普朗克

你能给我举个例子来说明如何正确操作吗。

  • 您需要更改您的
    getUsersFactory
    工厂,因为您没有
    $scope

    myApp.factory('getUsersFactory',['$http',函数($http){ 返回{ getUsers:函数(searchStr、回调){ $http({method:'JSONP',url:'users.json?query=?callback=json_callback&query=“+searchStr})。成功(回调); } } }]);

如您所见,我又添加了一个参数-
searchStr

  • 您需要调用工厂的函数
    getUsers()
    。实际上,问题是下一个:函数
    query()
    并没有在您的工厂中定义
    getUsersFactory
    。 实际上,即使调用
    $scope.teents=getUsersFactory.getUsers()-不带参数
所以,回答您的问题-使用您定义的工厂函数:
getUsersFactory.getUsers()


改变了的plunk:你介意把plunk略读到一个最简单的例子吗?嗨,谢谢你的回答。从myApp.factory('Tester',function($resource){return$resource('users.json');})加载时,它似乎不起作用;