Maison >développement back-end >tutoriel php >Pourquoi mon appel jQuery AJAX reçoit-il un message « Erreur : sélecteur activé » et des données JSON incorrectes ?

Pourquoi mon appel jQuery AJAX reçoit-il un message « Erreur : sélecteur activé » et des données JSON incorrectes ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-02 19:06:30276parcourir

Why is my jQuery AJAX call receiving an

Réponse PHP à l'appel jQuery AJAX

Dans cette discussion, nous explorerons la question du retour de JSON depuis PHP en réponse à un appel AJAX réalisé à l'aide de jQuery.

Aperçu du problème

Le L'utilisateur est confronté à des difficultés dans la gestion de la réponse JSON renvoyée par PHP à l'appel AJAX de jQuery. Le problème se manifeste par un message « Erreur : sélecteur activé » et des données JSON incorrectes sont répertoriées.

Analyse du code PHP

Le code PHP fourni semble encoder un tableau dans JSON et faites écho au résultat. Cependant, la variable $output n'est pas spécifiée dans l'instruction echo. Pour afficher correctement le JSON, il doit être :

<code class="php">echo $output;</code>

jQuery et AJAX Code

Dans le code jQuery et AJAX, le dataType a été défini sur "json ". Cela indique à jQuery qu'il attendra une réponse JSON du serveur.

Liste des données JSON

La sortie affichée dans la section "Liste des données JSON supposées" contient des en-têtes HTTP et d'autres métadonnées mais pas les données JSON attendues. Cela suggère que la réponse JSON n'a pas été correctement gérée.

Solution

Pour résoudre le problème, il est recommandé de refactoriser le code PHP pour renvoyer JSON en utilisant ce qui suit method :

<code class="php">header('Content-Type: application/json');
echo json_encode(array('foo' => 'bar'));
exit;</code>

Cette approche définit l'en-tête HTTP sur "application/json" et encode les données JSON souhaitées avant de leur faire écho. Ce faisant, la réponse JSON correcte sera renvoyée à l'appel jQuery AJAX et l'erreur « sélecteur activé » devrait être résolue.

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