[英]Unable to add elements to an array dynamically
我正在尝试创建一个动态数组,并使用Javascript将元素推送到其中。 作为初学者,我对此有疑问。
PS我正在很好地获取值(已通过console.log检查),唯一的问题是我无法将其放入数据库中。
下面是我的代码-
(function makelist() {
var listHeaderData =[];
var listChildData = [];
var listImagePath = [];
var nextPageRefLink = ['imageSlider.html','NewsItem_descp_1.html','http://www.yahoo.com'];
Parse.initialize("XN0sv3fBqB380fCpwohuHAgansghkiDp8MhbyJDs", "xzoETxUUxicHAtdwqbZh65XtTAFaona3a6cC9jSB");
console.log("Parse Initailized inside javascript");
var newsFeed = Parse.Object.extend("NewsFeed");
var query = new Parse.Query(newsFeed);
query.find ({
success: function(results) {
var output ="";
for(var i in results) {
//listHeaderData DATA
var heading = results[i].get("Heading");
listHeaderData.push(heading);
console.log("Header : "+heading);
//listChildData DATA
var description = results[i].get("description");
listChildData.push(description);
console.log("Description : "+description);
if(results[i].get("Image")) {
var file = results[i].get("Image");
//listImagePath URL's
var url = file.url();
listImagePath.push(url);
console.log("Image URL is:"+url);
}
console.log("Heading:"+heading);
console.log("Description:"+description);
}
} , error: function(error){
console.log("Query error :"+error.message);
}
});
}
问题是什么都没有添加到我上面定义的数组中。 我正在使用.push()函数。 可能是什么问题?
您在哪里使用这些list*
变量?
如果您尝试在query.find()
之后query.find()
访问listHeaderData
,那么您将永远不会获得数据,因为稍后在query.find
请求完成后将可用。 这就是为什么您需要在success
回调内的for循环之后立即检查这些数组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.