11521 sujets

JavaScript, DOM et API Web HTML5

Hello,

voici la fin de mon fichier ajax.php:

$response_array["error"]["name"] = 'Le champ "nom" doit contenir entre 5 et 128 caractères';
return json_encode($response_array);


Et voici une portion de mon appel ajax jquery:

         success: function( data ){
            if ( data['error']['name'] != undefined ){ 
                alertMsg += '<li class="error">' + data.error.name + '</li>';
            } else { 
                alertMsg += '<li class="success">Succès!</li>';
            }
         }


Hélas cela ne fonctionne pas, je n'arrive pas à récupérer les valeurs de $response_array... Smiley bawling

Est-ce que quelqu'un peut m'aider? Merci à tous Smiley lol !
qu'est-ce qui ne fonctionne pas ? est-ce que le serveur envoie bien une réponse ? est-ce que tu peux la voir avec un débugger (type firebug) ? C'est la première des étapes pour déterminer si le problème est coté serveur ou coté client.

Quelques pistes :
- que fait le programme php après le "return json_encode($response_array);", c'est pas plutôt un affichage (echo) que tu cherches à faire ?
- mettre des guillemets dans le texte d'erreur risque de poser des problèmes au décodage JSON
- est ce que la fonction javascript précise bien que les données sont en json (dataType: 'json')
Salut Zebrou,

Déja merci d'avoir pris la peine de répondre !

EN fait je n'avais pas saisi la subtilité qu'il fallait gérer les erreurs ajax dans le callback succes.

Le callback error c'est pour les erreurs du type 500, 404...
Merci!
Modifié par CaptaineFlamenkueche (27 Oct 2015 - 20:18)