Maison  >  Article  >  développement back-end  >  Pourquoi les données Axios POST ne sont-elles pas accessibles dans $_POST ?

Pourquoi les données Axios POST ne sont-elles pas accessibles dans $_POST ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-23 01:03:03156parcourir

Why is Axios POST Data not Accessible in $_POST?

Paramètres de publication Axios non lus par $_POST

Vous publiez des données sur un point de terminaison PHP à l'aide d'Axios et vous espérez y accéder en $ _POST ou $_REQUEST. Cependant, vous ne parvenez actuellement pas à le détecter.

À l'origine, vous avez utilisé la méthode axios.post par défaut, mais vous êtes passé à l'extrait de code fourni en raison d'un problème d'en-tête suspecté. Malgré ce changement, les données restent indétectables.

Après une enquête plus approfondie, vous avez réalisé qu'Axios publie les données en tant qu'objet JSON, accessible via file_get_contents("php://input"). Votre objectif est d'envoyer les données sous forme de chaîne normale.

Solution :

Selon la documentation d'Axios, le comportement par défaut consiste à sérialiser les objets JavaScript en JSON pour les publier. . Cependant, PHP ne prend pas en charge JSON comme format de données pour remplir $_POST. Il ne prend en charge que les formats supportés nativement par les formulaires HTML :

  • application/x-www-form-urlencoded
  • multipart/form-data

Pour envoyer les données au format souhaité, vous avez plusieurs options :

  • Utiliser l'API URLSearchParams (dans un navigateur)
  • Utiliser la bibliothèque qs pour encoder les données

Vous pouvez également personnaliser votre configuration PHP pour gérer les données JSON comme suggéré dans une autre question connexe.

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