Axios POST-Parameter in $_POST nicht sichtbar? Ein verstecktes Problem mit den Inhaltstypen
Bei der Arbeit mit Axios zum Posten von Daten ist es wichtig, die Auswirkungen der Inhaltstypen zu verstehen. Standardmäßig serialisiert Axios JavaScript-Objekte als JSON, was möglicherweise nicht mit Ihrem serverseitigen $_POST-Array kompatibel ist.
Um sicherzustellen, dass Ihre Parameter in $_POST zugänglich sind, müssen Sie den entsprechenden Inhaltstyp angeben Ihr Anliegen. Laut PHP-Dokumentation werden nur zwei Inhaltstypen unterstützt: „application/x-www-form-urlencoded“ und „multipart/form-data“.
Lösung: Angabe des Inhaltstyps
Um dieses Problem zu beheben, legen Sie den Header „Content-Type“ explizit auf „application/x-www-form-urlencoded“ fest. Dadurch wird Axios angewiesen, Ihre Daten in einem mit $_POST kompatiblen Format zu kodieren:
<code class="javascript">axios({ method: 'post', url, headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, data: { json, type, } }) </code>
Zusätzliche Alternativen
Alternativ, wenn Sie Ihren Inhaltstyp nicht ändern möchten können Sie Ihren PHP-Code ändern, um JSON-Eingaben zu verarbeiten. Weitere Informationen finden Sie in der folgenden Stack Overflow-Antwort: [https://stackoverflow.com/questions/6787388/receiving-json-objects-as-post-parameters-in-php](https://stackoverflow.com/questions/ 6787388/receiving-json-objects-as-post-parameters-in-php)
Das obige ist der detaillierte Inhalt vonWarum fehlen Axios-POST-Parameter in „$_POST: The Hidden Content-Type Issue'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!