如何在JavaScript中从另一个函数中接收并收集传递的对象?
P粉413704245
P粉413704245 2023-09-15 13:12:20
0
1
636

我有一个函数,让我们称之为GetData()。我从另一个函数中的查询中获取数据,并运行一个ajax调用来填充数据。一旦这个操作完成,我会将数据发送给另一个函数,我们称之为PlaceData()。每次通过GetData()的ajax调用将数据放在一个对象中。然后,我将每个对象发送到PlaceData(),我希望通过push()方法将这些对象收集到PlaceData()中的一个数组中,但每次它只是添加一个新的数组,而不是将当前发送的对象收集起来,所以我只得到单独的对象,而不是一个集合。我该如何让它们收集到一个数组中?

所以这是我正在使用的代码示例:

function GetData(query) {
    var json = "";
    var api_url = ('https://jsondata.site?conn={conn}&query={query}');
    $.ajax({async: false; url: api_url, method: "GET"}).done(function(data){
        json = JSON.parse(data);
    });
    PlaceData(json);
};

function PlaceData(data) {
    var objCollect = [];
    objCollect.push(data);

    console.log(objCollect);
};

我希望objCollect[]保留所有传入的对象,但实际上我只得到一个包含每个单独对象的新数组。

P粉413704245
P粉413704245

全部回复(1)
P粉351138462

你需要使用全局作用域变量来存储对象。将objCollect定义在函数外部,它现在应该保存所有的值。

var objCollect = [];

function GetData(query) {
    var json = "";
    var api_url = ('https://jsondata.site?conn={conn}&query={query}');
    $.ajax({async: false; url: api_url, method: "GET"}).done(function(data){
        json = JSON.parse(data);
    });
    PlaceData(json);
};

function PlaceData(data) {
    objCollect.push(data);
    console.log(objCollect);
};
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板