Paramètres Axios POST non accessibles en PHP
Dans votre code, vous envoyez une requête POST en utilisant Axios avec le "application/x -www-form-urlencoded". Cependant, vous rencontrez un problème où les données POST ne sont pas renseignées dans les tableaux $_POST ou $_REQUEST côté PHP.
La cause première de ce problème réside dans le format des données POST. PHP s'attend à ce que les données POST soient au format "application/x-www-form-urlencoded", qui est le format par défaut pour les soumissions de formulaires HTML. Par défaut, Axios sérialise les objets JavaScript au format JSON, qui n'est pas un format de données pris en charge pour $_POST.
Solution : Utilisation d'URLSearchParams ou de la bibliothèque qs
Pour résoudre ce problème , vous pouvez utiliser les méthodes suivantes pour encoder les données POST dans le format correct :
<code class="javascript">const params = new URLSearchParams(); params.append('param1', 'value1'); params.append('param2', 'value2'); axios.post('/foo', params);</code>
<code class="javascript">const qs = require('qs'); axios.post('/foo', qs.stringify({ 'bar': 123 }));</code>
Vous pouvez également modifier PHP pour gérer JSON comme données POST :
Reportez-vous à cette réponse pour plus de détails sur la façon de configurer PHP pour gérer JSON comme format de données pour remplir $_POST.
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!