繁体   English   中英

无法将元素动态添加到数组

[英]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.

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