javascript - 将 http 响应数组放入 $scope 后无法使用它

标签 javascript angularjs ajax http

我在我的应用程序中使用 AngularJs。我进行 http 调用并获取响应。响应包含一个数组,我将其作为 result 放入 $scope 对象中。我在某个属性上放置了一个 watch 并尝试访问放置在 $scope 对象内的存储对象。如果我打印 result 对象,我会看到它包含数组,但是当我尝试使用 length 等数组属性时,它会抛出错误。我也无法使用其他数组方法,例如 results.data[0]

请让我知道我哪里出错了。一些用于理解目的的代码:

var processResponse = function (result) {
          $scope.results = result.data;
      }

$scope.$watch('attribute', function(newVal) {
        console.log($scope.results.length)
      });

最佳答案

取决于你如何调用它。如果结果是一个 promise ,你可以尝试这样做:

result.then(successCallback, errorCallback);

关于javascript - 将 http 响应数组放入 $scope 后无法使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34134025/

相关文章:

php - 未捕获的范围错误: Maximum call stack

javascript - 将下拉列表中单击的项目传递到第二个文件

javascript - 如何创建单独的 AngularJS Controller 文件?

html - 嵌套 ng-repeat 无法正常工作

angularjs - 单击类别链接时过滤项目列表

php - Ajax中需要多个独立的定时器

javascript - NetSuite上的ClientScript如何知道一条记录处于哪种模式?

javascript - 在移动浏览器中播放声音?

angularjs - 在 Angular 组件中使用 transcludeFn

javascript - 如何使用ajax在javascript中使用php