Comment recevoir et collecter un objet passé depuis une autre fonction en JavaScript ?
P粉413704245
P粉413704245 2023-09-15 13:12:20
0
1
662

J'ai une fonction, appelons-la GetData(). Je récupère les données d'une requête dans une autre fonction et j'exécute un appel ajax pour remplir les données. Une fois cette opération terminée, j'envoie les données à une autre fonction, appelons-la PlaceData(). Chaque appel ajax à GetData() place les données dans un objet. J'envoie ensuite chaque objet à PlaceData() et je souhaite collecter ces objets dans un tableau dans PlaceData() via la méthode push(), mais à chaque fois, il ajoute simplement un nouveau tableau au lieu d'envoyer celui actuel. Les objets sont rassemblés , donc je ne reçois que des objets individuels, pas une collection. Comment puis-je les rassembler dans un tableau ?

Voici donc l'exemple de code que j'utilise :

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);
};

Je veux que objCollect[] conserve tous les objets transmis, mais en fait, je reçois juste un nouveau tableau contenant chaque objet individuel.

P粉413704245
P粉413704245

répondre à tous(1)
P粉351138462

Vous devez utiliser des variables de portée globale pour stocker des objets. Définissez objCollect en dehors de la fonction et il devrait maintenant contenir toutes les valeurs.

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);
};
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal