PHP Renvoi de JSON à JQUERY Appel AJAX
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 des formulaire et 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 succès/échec et une clé msg1 pour l'affichage des messages.
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;
?>
JQUERY et AJAX
Le code JQUERY gère la validation des formulaires et la 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.
success: function (data) {
alert("SUCCESS:");
for (var key in data) {
$('#msgid').append(key);
$('#msgid').append('=' data[key] '
');
}
},
error: function (data) {
alert("ERROR: ");
for (var key in data) {
$('#msgid').append(key);
$('#msgid').append('=' data[key] '
');
}
}
Solution
Pour afficher correctement les valeurs JSON, modifiez le rappel de réussite pour extraire les valeurs de retour et msg1 de la réponse JSON :
success: function (data) {
alert("SUCCESS:");
$('#msgid').append('Return: ' data.return '
');
$('#msgid').append('Message: ' data.msg1 '
');
}
Avec ces ajustements, le code doit traiter correctement le formulaire, renvoyer la réponse JSON de PHP, puis extraire et afficher les valeurs de retour et msg1.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3