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
A voir également:
- Remplir une liste avec une requête Ajax
- Liste déroulante excel - Guide
- Organigramme a remplir word - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Site dangereux liste - Guide
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ù.
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 ?
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à :
ça m'affiche une liste vide avec le console.log, donc la liste ne se remplie même pas dans la fonction...
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