Remplir une liste avec une requête Ajax
Résolu
parousky
Messages postés
325
Date d'inscription
Statut
Membre
Dernière intervention
-
parousky Messages postés 325 Date d'inscription Statut Membre Dernière intervention -
parousky Messages postés 325 Date d'inscription Statut Membre Dernière intervention -
Bonjour, sur mon site, j'effectue une requête Ajax qui va lire le contenu d'une page php avec une requête SQL.
Ensuite, je récupère la liste des réponses de la requête SQL, et j'aimerais remplir une liste avec ces réponses, mais ça ne fonctionne pas !
Voilà mon code :
Mais ma liste listeARemplir reste vide.
Comment puis-je résoudre ce problème ?
Merci d'avance !
EDIT : Ajout du langage dans les balises de code
Ensuite, je récupère la liste des réponses de la requête SQL, et j'aimerais remplir une liste avec ces réponses, mais ça ne fonctionne pas !
Voilà mon code :
var listeARemplir = Array();
RequestAjax();
function RequestAjax()
{
var list = Array();
$.ajax({
url: 'functions.php',
type: 'GET',
data: {Data: 1},
dataType: 'html',
success: function(code_html, statut)
{
list = JSON.parse(code_html);
for(i=0;i<list.length;i++)
{
listeARemplir[i] = list[i];
}
}
})
}
console.log(listeARemplir);
Mais ma liste listeARemplir reste vide.
Comment puis-je résoudre ce problème ?
Merci d'avance !
EDIT : Ajout du langage dans les balises de code
5 réponses
-
Bonjour,
Déjà.. si tu travailles avec du JSON .. autant le spécifier dans l'AJAX.
(et dans le script PHP qui te retourne le json.... faire un json_encode du résultat).
Ensuite... as tu essayé de faire un console.log dans la partie SUCCESS pour savoir ce que ça donne ?
Et aussi... mets un ERROR .. au cas où.
var listeARemplir = RequestAjax(); console.log("ListeARemplir ="); console.log(ListeARemplir); function RequestAjax(){ var list = []; $.ajax({ url: 'functions.php', type: 'GET', data: {Data: 1}, dataType: 'json', success: function(data, statut){ console.log(data); list = data; error: function(xhr, status, error) { var err = eval("(" + xhr.responseText + ")"); alert(err.Message); } } }) return list; } console.log(listeARemplir);
-
Ca ne fonctionne toujours pas. Lorsque je passe le type en json, ça me renvoie : "Unexpected token s".
Alors j'ai vu qu'il fallait apparemment mettre dans ma page functions.php un : "header('Content-type: application/json');"
mais ça ne change rien !
Lorsque j'affiche ce que je reçois, ça me marque bien ce que j'attends, la liste json.
Alors ou y a-t-il une erreur après ? -
Et aussi, lorsque je fais ce code là :
function RequestAjax()
{
var list = Array();
$.ajax({
url: 'functions.php',
type: 'GET',
data: {Data: 1},
dataType: 'html',
success: function(code_html, statut)
{
list = code_html;
//console.log(code_html);
}
})
console.log(list);
return list;
}
ça m'affiche une liste vide avec le console.log, donc la liste ne se remplie même pas dans la fonction... -
var listeARemplir=new Array(); function RequestAjax(){ var tmp = new Array(); $.ajax({ url: 'functions.php', type: 'GET', data: {Data: 1}, async:false, dataType: 'json', success: function(data){ tmp = data; }, error: function(xhr, status, error) { var err = eval("(" + xhr.responseText + ")"); alert(err.Message); } }) //console.log(tmp); return tmp; } var listeARemplir = RequestAjax(); console.log(listeARemplir); for(var i=0;i<listeARemplir.length;i++){ console.log( "item "+i + " = " + listeARemplir[i]); }
Cordialement,
Jordane -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Ah oui et bien le type 'json' ne passait pas dans ajax, et maintenant ça fonctionne !
J'avais un code PHP similaire au tien, et d'un coup ça a fonctionné !
Merci pour ton aide !