Axios-POST-Parameter sind in PHP nicht zugänglich
In Ihrem Code senden Sie eine POST-Anfrage mit Axios mit der Datei „application/x -www-form-urlencoded“ Inhaltstyp. Sie stoßen jedoch auf ein Problem, bei dem die POST-Daten nicht in die Arrays $_POST oder $_REQUEST auf der PHP-Seite eingefügt werden.
Die Hauptursache für dieses Problem liegt im Format der POST-Daten. PHP erwartet, dass POST-Daten im Format „application/x-www-form-urlencoded“ vorliegen, dem Standardformat für HTML-Formularübermittlungen. Standardmäßig serialisiert Axios JavaScript-Objekte in JSON, was kein unterstütztes Datenformat für $_POST ist.
Lösung: Verwenden von URLSearchParams oder der qs-Bibliothek
Um dieses Problem zu beheben können Sie die folgenden Methoden verwenden, um die POST-Daten im richtigen Format zu kodieren:
<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>
Alternativ können Sie PHP so ändern, dass JSON als POST-Daten verarbeitet wird:
Weitere Informationen zur Konfiguration von PHP für die Verarbeitung von JSON als Datenformat zum Auffüllen von $_POST finden Sie in dieser Antwort.
Das obige ist der detaillierte Inhalt vonWie greife ich mit verschiedenen Methoden auf Axios POST-Parameter in PHP zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!