Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.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
Javascript Angularjs视图不显示从工厂返回的数据_Javascript_Ruby On Rails_Json_Angularjs - Fatal编程技术网

Javascript Angularjs视图不显示从工厂返回的数据

Javascript Angularjs视图不显示从工厂返回的数据,javascript,ruby-on-rails,json,angularjs,Javascript,Ruby On Rails,Json,Angularjs,我设置了一个使用返回json的rails api的服务。请求根据控制台输出返回,如下所示: Resource {tests: Array[4], $promise: Promise, $resolved: true} 我面临的问题是,在我看来什么都没有表现出来。我是否需要以某种方式转换返回的结果?当我通过postman ping该路由时,我得到一个json对象作为我的结果集 我有以下设置: /service/test.js angular.module('myApp') .fa

我设置了一个使用返回json的rails api的服务。请求根据控制台输出返回,如下所示:

Resource {tests: Array[4], $promise: Promise, $resolved: true}
我面临的问题是,在我看来什么都没有表现出来。我是否需要以某种方式转换返回的结果?当我通过postman ping该路由时,我得到一个json对象作为我的结果集

我有以下设置:

/service/test.js

  angular.module('myApp')
      .factory('Test', function($resource) {
        return $resource('http://api.myapp-dev.com:3000/tests/:id', { id: '@_id' },
        {
          'index': {
            method:'GET',
            headers: {
              'Authorization':'<a token>'
            },
            isArray: false
          }
    });
  });
views/tests.html

<div>
  <ul ng-repeat="test in tests">
    <li>{{ test.value }}</li>
  </ul>
</div>

  • {{test.value}}

您应该在控制器中执行以下操作

Test.index(
  function(response) {
    $scope.tests = response.tests;
  },
  function(error) {
  }
)
还有其他类似的方法

Test.index().$promise.then(
  function(response) {
    $scope.tests = response.tests;
  },
  errorCallback
)

您的工厂正在退回承诺对象。您不应该使用
然后
成功
来解决承诺吗?感谢您的回复。
Test.index().$promise.then(
  function(response) {
    $scope.tests = response.tests;
  },
  errorCallback
)