繁体   English   中英

$http.get 获取反序列化 JSON 但无法将其分配给数组

[英]$http.get gets deseralized JSON but can't assign it to array

我在将数据读入另一个变量时遇到问题,我有这个功能:

var vm = this;

$http.get("/source").success(function(data) {
     alert("Horay !!!");
     vm.myData = data;
}).error(function() {
     alert("Dang It!");
});

然后我有以下内容:

vm.view = {
    dataTable:  vm.myData,
    order: {
        classification: 'lastname',
        orderby: '+'
    }
};

在控制器下使用 angular ,我可以看到vm.myData的值,我也可以拉它,但我似乎无法将数据分配给我的vm.view.dataTable

也许这不是正确的方法?

我用原始 JSON 项目替换了vm.view.dataTable并且它确实显示了,所以在vm.myData分配给数据之间有些东西vm.myData

$http.get是异步的。 vm.dataTable分配给 undefined ,然后才将vm.myData分配给data

应该是

$http.get("/source").success(function(data) {
  vm.myData = data;
  vm.view.dataTable = data
}).error(...);

success已被弃用。 它可以替换为

$http.get("/source").then(function(response) {
  vm.myData = response.data;
  vm.view.dataTable = response.data
}).catch(...);

您是否尝试检查数据对象的外观?
(例如通过将其打印到控制台或其他地方)
根据您的数据源,您期望的数组可能被封装在一个对象中,并且可以在对象层次结构的更深层次上找到它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM