我有一个json格式的内容。我的愿望是将json内容放入一个javascript变量中,然后将该变量加载到getContact()
函数中以供以后使用。
我尝试了很多选择,例如fetch()
,async/await
,但似乎都没有用。
除了微小的差异外,我有一个几乎可行的选择。
var theContacts=[] ; //<<<< empty array here
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200)
{
var contact =JSON.parse(xhttp.response);
theContacts.push(...contact); //<<<< Push here
console.log(contact);//<<<< first output to console
}
};
xhttp.open("GET", "js/contalist.php", true);
xhttp.send();
myApp.factory('ContactService', [function()
{
var factory = {};
factory.getContacts = function(response)
{
var contactsList=theContacts;
return contactsList;
};
return factory;
}]);
console.log(theContacts);//<<< second output to console
这是我的第一个控制台输出
`console.log(contact);`
(2) [{…}, {…}]
0: {name: "ADMINISTRATOR", email: "", first_name: "", last_name: ""}
1: {name: "GUEST", email: "", first_name: "", last_name: ""}
length: 2
__proto__: Array(0)
这是我的第二个控制台输出
`console.log(theContacts)`
[]
0: {name: "ADMINISTRATOR", email: "", first_name: "", last_name: ""}
1: {name: "GUEST", email: "", first_name: "", last_name: ""}
length: 2
__proto__: Array(0)
我需要获得第一和第二输出的完全匹配。
两者都以(2)[{...}, {...}]
开始,谁对实现此目标有任何想法?请帮助我!