ホームページ  >  記事  >  ウェブフロントエンド  >  PHPでPostが非フォームデータを取得できない問題の解決方法

PHPでPostが非フォームデータを取得できない問題の解決方法

小云云
小云云オリジナル
2018-02-28 14:25:272146ブラウズ

vue-axiosを使用してバックエンドにデータをポストする場合、PHP側でポストデータを取得できません。この記事では、PHP で Post が非フォームデータを取得できない問題を解決する方法を主に説明します。これが皆様のお役に立てれば幸いです。

問題は解決しました

php.ini設定を変更します

php.ini設定ファイルを見つけて、enable_post_data_reading変数を検索し、オープン状態に変更してコメントします文の接頭辞を取り出します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-reading
enable_post_data_reading = On    //大约656行,修改此条

修改配置后,发现还是不行,继续查阅资料。

获取非表单数据

搜集资料之后,发现vue-axios向后端post的是非表单数据(Ajax不同),在获取非表单数据时需要用php://input

$raw = file_get_contents('php://input');//获取非表单数据
echo $raw;//输出结果
設定を変更した後も動作しないことが判明したので、引き続き情報を確認しました。

非フォームデータの取得


情報を集めてみると、vue-axios は非フォームデータをバックエンドにポストする(Ajax とは異なります) 非フォームデータを取得する場合は php:/ を使用する必要があります。 /input

headers: {
    "Content-type": "application/json; charset=utf-8"
}

PS: 投稿するときは、フロントエンド リクエスト ヘッダーを rrreee に設定する必要があります。関連する推奨事項:

🎜🎜🎜php $_POST HTML フォーム データの取得チュートリアル_PHP チュートリアル🎜🎜

以上がPHPでPostが非フォームデータを取得できない問題の解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。