javascript - Angular promise 从 JSON API 返回不正确的数据

标签 javascript arrays json angularjs api

更新:2015 年 2 月 12 日 如评论中所述,这是 Angular 模块修改对象的问题。我能够使用 toJSON 来追踪这一点,如下所述。

我最近遇到一个问题,一直很困惑。我有一项服务是通过 get 请求从 api 请求数据。在 Chrome 开发者工具中查看网络面板时,api 会返回正确的结果,但它们不会显示在 Angular 请求的响应中。

您可以注意到内容部分缺少项目。和 Angular 代码:

Angular 代码

function getPhotos(){
      return $http.get('/photo')
        .then(getPhotosComplete)
        .catch(function(err){
         //handle errors

        });
      function getPhotosComplete(res){
        //Showing incorrect response here
        console.log("getPhotosComplete", res);
        return res.data;
      }
    }

来自 API { 网址:“https://dev.amazonaws.com/060a2a5f-8bb7-4ffa-aa7d-e715439271a3.jpg”, 存档名称:“140809”, 种子数:0, 观看次数:0, 直播:真实, 当前:错误, 下一个:假的, 创建于:“2015-02-10T17:48:41.505Z”, 更新时间:“2015-02-12T04:11:02.239Z”, 内容: [ “气球”, “公寓”, “测试”, “测试 2”, “派对”, “伊内兹” ], ID:“54da44790eb10b0f00b453a1” }

Angular Scope/res.data in service { 网址:“https://dev.amazonaws.com/060a2a5f-8bb7-4ffa-aa7d-e715439271a3.jpg”,种子数:0, 观看次数:0, 直播:真实, 当前:错误, 下一个:假的, 创建于:“2015-02-10T17:48:41.505Z”, 更新时间:“2015-02-12T04:11:02.239Z”, 内容:数组[3] 0:“气球”, 1:“公寓”, 2:“派对” ]

最佳答案

如果 angular.toJson() 的输出是正确的,但是对象的 console.log 是错误的,那么它强烈表明对象正在被修改调用 console.log 后某处的代码。

这是因为 console.log 引用了一个对象,一段时间后它把它变成一个字符串输出。我将其归类为轻微的邪恶行为,因为它表明错误发生在调用 console.log 之前,而实际上是在它之后的问题。查看错误的代码可能会浪费时间...

关于javascript - Angular promise 从 JSON API 返回不正确的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28469279/

相关文章:

javascript - 有没有办法在没有访问 token 的情况下调用 instagram api

C++ 对 std::bitset 的位进行操作

javascript - 查找两个数组的最长公共(public)后缀的最佳方法

android - 通过 Volley 无法使用 POST 将数据发送到服务器

android - 如何在android编程中使用jsoup从html获取此脚本

javascript - 从文本文件加载 json

javascript - JS : calculate range numbers like [-10, 10]使用百分比并根据百分比值获取数字

javascript - 在 Jade/Express 中迭代数组有限制吗?

java - MOXy反序列化异常: A descriptor with default root element was not found in the project

javascript - 带字符索引检查的简写 if