我正在尝试使用Javascript创建动态数组并将元素推送到它。作为初学者,我遇到了问题。
P.S。我正在获取所有值(使用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()函数。可能是什么问题?
答案 0 :(得分:1)
您在哪里使用这些list*
变量?
如果您尝试在listHeaderData
之后立即访问query.find()
,那么在query.find
请求完成后,您将永远无法获取数据。这就是你需要在success
回调中的for循环后立即检查这些数组的原因。