La réponse 200 OK déclenche un événement d'erreur dans Ajax : cause première et solution
Lorsqu'une requête Ajax renvoie une réponse 200 OK, le comportement par défaut de jQuery est d'exécuter l'événement de réussite. Cependant, dans certains cas, un événement d'erreur peut être déclenché à la place. Cet écart résulte d'une inadéquation entre la réponse attendue et la réponse réelle.
Le cas d'une réponse JSON invalide
Dans l'exemple fourni, le code jQuery spécifie un type de données de "json." Cela amène jQuery à attendre une réponse JSON valide de la part du serveur. Cependant, le code C# renvoie du HTML avec un code d'état 200 OK.
Étant donné que la réponse n'est pas conforme au format JSON attendu, jQuery l'interprète comme une erreur et déclenche l'événement d'erreur. Pour résoudre ce problème, il est recommandé de supprimer le paramètre dataType du code jQuery. Cela demandera à jQuery de traiter la réponse comme une chaîne de données brutes.
Renvoyer une réponse JavaScript
Une autre solution consiste à modifier le code côté serveur pour renvoyer une réponse valide. Réponse JavaScript. Ceci peut être réalisé en définissant l'en-tête Content-Type sur « application/javascript », puis en intégrant le code JavaScript souhaité (par exemple, « alert('Record Deleted'); ») comme réponse.
Renvoyer une réponse JSON
Pour plus de flexibilité, il est souvent préférable de renvoyer une réponse JSON et de gérer l'analyse et l'affichage dans le succès rappel. Pour ce faire, le code côté serveur doit :
Dans le code jQuery, le rappel de réussite peut ensuite être modifié pour analyser le JSON réponse et affichez le message en conséquence.
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!