Lorsque vous essayez de sérialiser un message d'erreur à l'aide de JSON.stringify, vous pouvez rencontrer un résultat inattendu : un objet vide. Ce comportement provient des propriétés non énumérables de l'objet Error, les empêchant d'être incluses dans la stringification.
Alors que les méthodes standard comme Error.prototype.toString offrent des informations limitées, l'utilisation de la fonction de remplacement dans JSON.stringify pour supprimer les propriétés de la fonction rencontre des anomalies où il ignore la boucle sur l'objet.
La solution réside dans le passage d'un tableau de noms de propriétés énumérables de l'objet Error comme deuxième argument à JSON.stringify :
JSON.stringify(err, Object.getOwnPropertyNames(err))
Cette solution de contournement inclut efficacement les propriétés d'erreur nécessaires dans le processus de stringification, fournissant le résultat souhaité. Il est important de noter que cette méthode dépend du navigateur et peut ne pas fonctionner dans tous les environnements.
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!