Maison  >  Article  >  développement back-end  >  Comment gérer correctement les réponses JSON de PHP dans un appel JQUERY AJAX ?

Comment gérer correctement les réponses JSON de PHP dans un appel JQUERY AJAX ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-03 01:23:30773parcourir

How to properly handle JSON responses from PHP in a JQUERY AJAX call?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn