Heim  >  Artikel  >  Backend-Entwicklung  >  Warum fehlen Axios-POST-Parameter in „$_POST: The Hidden Content-Type Issue“?

Warum fehlen Axios-POST-Parameter in „$_POST: The Hidden Content-Type Issue“?

DDD
DDDOriginal
2024-10-23 00:09:30866Durchsuche

Why Are Axios POST Parameters Missing in $_POST: The Hidden Content-Type Issue?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn