這次給大家帶來PHP Post擷取不到非表單資料如何處理,處理PHP Post擷取不到非表單資料的注意事項有哪些,下面就是實戰案例,一起來看一下。
問題描述
在使用vue-axios向後端post資料時,PHP端擷取不到post的資料。
問題解決
修改php.ini配置
找到php.ini設定檔,尋找enable_post_data_reading變數,修改為開啟狀態,注釋掉句前分好
; 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-readingenable_post_data_reading = On //大約656行,修改此條
修改配置後,發現還是不行,繼續查閱資料。
擷取非表單資料
搜集資料之後,發現vue-axios向後端post的是非表單資料(Ajax不同),在擷取非表單資料時需要用php://input
$raw = file_get_contents('php://input');//擷取非表單資料echo $raw;//輸出結果
PS:post時前端要求標頭要設定為
headers: { "Content-type": "application/json; charset=utf-8"}
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
php記錄搜尋引擎爬行過程方法詳解
PHP中in_array隱式轉換實現步驟詳解