Maison >base de données >tutoriel mysql >Comment puis-je déterminer si une réponse du serveur est JSON ou un message d'erreur ?

Comment puis-je déterminer si une réponse du serveur est JSON ou un message d'erreur ?

DDD
DDDoriginal
2024-12-02 19:12:13850parcourir

How Can I Determine if a Server Response is JSON or an Error Message?

Déterminer la nature d'une réponse du serveur : JSON ou message d'erreur

Dans le cadre des appels AJAX, il est souvent nécessaire de distinguer les JSON chaînes contenant des données utiles et des messages d’erreur du serveur. Alors que la fonction mysql_error() de PHP produit des messages d'erreur, l'incapacité d'analyser une chaîne au format JSON indique qu'il s'agit probablement d'un message d'erreur.

Solution : exploiter JSON.parse()

Pour tester si une chaîne est un JSON valide, nous pouvons utiliser JSON.parse(). Si l'opération d'analyse réussit, la chaîne est considérée comme JSON ; sinon, c'est un message d'erreur.

Exemple d'implémentation

La fonction suivante, isJson(), implémente ce test :

function isJson(str) {
  try {
    JSON.parse(str);
  } catch (e) {
    return false;
  }
  return true;
}

Utilisation

Désormais, il est facile de tester la nature d'un serveur réponse :

if (isJson(data)) {
  // Process JSON data
} else {
  // Display error message
  alert(data);
}

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