Javascript Angularjs-从JSON实例化数组

Javascript Angularjs-从JSON实例化数组,javascript,arrays,angularjs,json,Javascript,Arrays,Angularjs,Json,我只是尝试从$http请求填充一个数组,并在表中显示结果。在我看来,使用Firebug可以正确地检索数据。查看图片了解结果。 var-app=angular.module('myApp',[]); app.controller('ContactsController',函数($scope,$http) {var self=this;//在初始post之后添加。 this.contactList=[]; this.InitiateContactList=函数(arrayContacts)//

我只是尝试从$http请求填充一个数组,并在表中显示结果。在我看来,使用Firebug可以正确地检索数据。查看图片了解结果。


var-app=angular.module('myApp',[]);
app.controller('ContactsController',函数($scope,$http)
{var self=this;//在初始post之后添加。
this.contactList=[];
this.InitiateContactList=函数(arrayContacts)//this.InitiateContactList不工作?
{for(i=0;i在Contacts控制器中,执行此操作

var self = this; 
现在在控制器中使用
self
而不是所有
this

$http({
    method: 'GET',
    url: 'someurl', //pseudoCode
    headers: {'Content-Type': 'application/x-www-form-urlencoded'} 
}).then(function (response) {
    self.contactList = angular.fromJson(response.data);
});

希望有帮助。

在您的联系人控制器中,执行此操作

var self = this; 
this.contactList = angular.fromJson(response.data);
现在在控制器中使用
self
而不是所有
this

$http({
    method: 'GET',
    url: 'someurl', //pseudoCode
    headers: {'Content-Type': 'application/x-www-form-urlencoded'} 
}).then(function (response) {
    self.contactList = angular.fromJson(response.data);
});
希望有帮助

this.contactList = angular.fromJson(response.data);
在本例中,
this
引用来自
then()
调用的匿名回调函数的函数原型。在Javascript中,在许多回调中使用单词
this
时要小心。声明一个变量,分配所需的函数原型,然后引用该变量,而不是保留的、不断变化的
this
关键字


在本例中,
this
引用来自
then()
调用的匿名回调函数的函数原型。在Javascript中,在许多回调中使用单词
this
时要小心。声明一个变量,分配所需的函数原型,然后引用该变量,而不是保留的、不断变化的
this
关键字。

您已经听说过
this
引用:我在这里也看到了
this
的不正确用法。@Sergey Golliney。谢谢你的帮助。这个问题是您的建议和服务器端的更正的结合。很可能数据没有正确格式化为JSON,因为它在使用PHP mysqli_fetch_assoc而不是mysqli_fetch_数组时工作正常。您已经被告知
引用:我在这里也看到了
的不正确用法。@Sergey Golliney。谢谢你的帮助。这个问题是您的建议和服务器端的更正的结合。很可能数据没有正确格式化为JSON,因为它在使用PHP mysqli_fetch_assoc而不是mysqli_fetch_数组时工作正常。在声明联系人列表数组的行之后,我再次添加了您的建议。我仍然有同样的行为。DOM对象已填充,但ng repeat未显示任何内容。我甚至添加了一些测试代码来打印联系人列表的索引,以便ng repeat。好像ng重复循环不起作用。我假设contactList是一个对象数组。也许angular将其视为长度为1的数组?@PabloFrancesca您是否在
上应用
ng repeat
而不是
故意进行更正。我错了。您的建议现在可以使用ng repeat,但是Contact.email和Contact.Frequency无法解决问题。我已经在这两个和封装上尝试了ng repeat。它们产生与初始代码相同的ng重复行为。我想这是意料之中的?我早就试过了。在声明联系人列表数组的行之后,我再次添加了您的建议。我仍然有同样的行为。DOM对象已填充,但ng repeat未显示任何内容。我甚至添加了一些测试代码来打印联系人列表的索引,以便ng repeat。好像ng重复循环不起作用。我假设contactList是一个对象数组。也许angular将其视为长度为1的数组?@PabloFrancesca您是否在
上应用
ng repeat
而不是
故意进行更正。我错了。您的建议现在可以使用ng repeat,但是Contact.email和Contact.Frequency无法解决问题。我已经在这两个和封装上尝试了ng repeat。它们产生与初始代码相同的ng重复行为。我想这是意料之中的?。