Heim >Backend-Entwicklung >PHP-Tutorial >Der Beitrag kann keine Formulardaten abrufen
Dieses Mal werde ich Ihnen die Vorsichtsmaßnahmen vorstellen, um das Problem zu lösen, dass Post keine Formulardaten erhalten kann. Hier sind praktische Fälle, schauen wir uns diese an.
Problembeschreibung
Bei Verwendung von vue-axios zum Posten von Daten im Backend kann die PHP-Seite die geposteten Daten nicht abrufen.
Problemlösung
Ändern Sie die php.ini-Konfiguration
Suchen Sie die php.iniKonfigurationsdatei, suchen Sie die Variable „enable_post_data_reading“, und ändern Sie es in „Status öffnen, Präfix des Satzes auskommentieren“
; Whether PHP will read the POST data. ; This option is enabled by default. ; Most likely, you won't want to disable this option globally. It causes $_POST ; and $_FILES to always be empty; the only way you will be able to read the ; POST data will be through the php://input stream wrapper. This can be useful ; to proxy requests or to process the POST data in a memory efficient fashion. ; http://php.net/enable-post-data-reading enable_post_data_reading = On //大约656行,修改此条
Nachdem ich die Konfiguration geändert hatte, stellte ich fest, dass es immer noch nicht funktionierte, also habe ich die Informationen weiter überprüft.
Nicht-Formulardaten abrufen
Nachdem ich Informationen gesammelt habe, stellte ich fest, dass vue-axios Nicht-Formulardaten an das Backend sendet (anders als Ajax). um php://input zu verwenden
$raw = file_get_contents('php://input');//获取非表单数据 echo $raw;//输出结果
PS: Der Front-End-Anfrageheader sollte beim Posten auf
headers: { "Content-type": "application/json; charset=utf-8" }
gesetzt werden!
Empfohlene Lektüre:
PHP benutzerdefiniertes zweidimensionales Array-Sortierfunktionsarray
Implementierung der automatisierten Testfunktion der PHPUnit-Schnittstelle
Das obige ist der detaillierte Inhalt vonDer Beitrag kann keine Formulardaten abrufen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!