Maison > Article > développement back-end > Comment gérer correctement les réponses JSON de PHP dans un appel JQUERY AJAX ?
PHP renvoie JSON à JQUERY AJAX Call
Cette question aborde l'intégration de PHP, JQUERY et AJAX pour le traitement des formulaires et le renvoi des réponses dans Format JSON.
Implémentation PHP
Le code PHP fourni inclut les fonctions nécessaires au traitement du formulaire et à la gestion de l'envoi des emails. Pour renvoyer JSON, il utilise json_encode pour convertir un tableau en chaîne JSON. Le tableau contient une clé de retour pour l'indication de réussite/échec et une clé msg1 pour l'affichage des messages.
<code class="php"><?php header('Content-Type: application/json'); touch('phpTouch.txt'); // process email $email = 1; if ($email) { $value = array('return' => 1, 'msg1' => 'Message sent OK, we will be in touch ASAP'); } else { $value = array('return' => 0, 'msg1' => 'Message Failed, please try later'); } $output = json_encode($value); echo $output; ?></code>
JQUERY et AJAX
Le code JQUERY gère la validation du formulaire et Communication AJAX. Il utilise les rappels de réussite et d'erreur pour gérer la réponse du script PHP. Cependant, le code affiche l'objet de données brutes au lieu d'extraire et d'afficher les valeurs JSON spécifiques.
<code class="javascript">success: function (data) { alert("SUCCESS:"); for (var key in data) { $('#msgid').append(key); $('#msgid').append('=' + data[key] + '<br />'); } }, error: function (data) { alert("ERROR: "); for (var key in data) { $('#msgid').append(key); $('#msgid').append('=' + data[key] + '<br />'); } }</code>
Solution
Pour afficher correctement les valeurs JSON, modifiez le rappel de réussite pour extraire les valeurs return et msg1 de la réponse JSON :
<code class="javascript">success: function (data) { alert("SUCCESS:"); $('#msgid').append('Return: ' + data.return + '<br />'); $('#msgid').append('Message: ' + data.msg1 + '<br />'); }</code>
Avec ces ajustements, le code doit traiter correctement le formulaire, renvoyer la réponse JSON de PHP, et extraire et afficher le return et msg1 valeurs.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!