【问题标题】:Angular $http not working as expectedAngular $http 未按预期工作
【发布时间】:2014-11-11 18:00:35
【问题描述】:

我是 Angular 的新手,正在尝试使用我使用 laravel 创建的基本后端服务。这是一个基本的 Todo 应用程序,我现在正在尝试获取所有用户资源。

如果你转到以下 URI,它将返回应用程序中的所有用户:

Link to the URI

我的角度文件中的代码看起来像

var testing = angular.module('testing', []);

testing.controller('MainCtrl', function($scope, $http){
    $scope.hello = "Hello World!";
    $http.get('users.json').success(function(data){
        $scope.users = data;
    });
});

现在当我在$http.get 方法的参数中传递URI 时,我看不到任何数据。我在我的主索引文件中尝试了{{ users | json }} 来查看转储输出。它根本行不通。但是当我只复制响应中的数据数组并将其保存到 json 文件中时,它可以完美运行。

现在从 Web 服务返回的 json 包含更多信息,例如状态和消息。在 Angular 中获取它们时如何删除它们以便它工作,或者有什么方法可以让它们返回,然后以某种方式从返回的整个数据中提取它们?

【问题讨论】:

  • 成功回调函数执行了吗?
  • 我认为确实如此。因为当我使用json文件时,它会返回所有数据。
  • 您给我们的网址是http://todoapi.rohanchhabra.in/users。那你为什么要使用users.json?工作 URL 中没有 .json
  • users.json 是我在本地创建的一个文件,用于检查它是否在没有状态和消息的情况下获取数据。 users.json 文件仅包含从实际响应中复制的数据数组。
  • 您应该提供您尝试的实际代码、您尝试访问的文件的实际内容,并定义“不起作用”的含义。 plunkr 或 jsfiddle 会有所帮助。

标签: json angularjs


【解决方案1】:

如果这里 http://todoapi.rohanchhabra.in/users 是来自您的服务器的响应,您应该将您的 $http 调用更新为:

 $http.get('users.json').success(function(response){
        $scope.users = response.data;
    });

如果您从本地 iis 请求 json 文件,请确保它可以提供 .json 文件

【讨论】:

    猜你喜欢
    • 2018-05-14
    • 2020-02-19
    • 2019-04-15
    • 2018-08-24
    • 2018-05-29
    • 1970-01-01
    • 2014-06-26
    • 1970-01-01
    • 2018-04-24
    相关资源
    最近更新 更多