PHP Post获取不到非表单数据的问题解决办法

yipeiwu_com6年前PHP代码库

问题描述

在使用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-reading
enable_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 CodeBase:将时间显示为"刚刚""n分钟/小时前"的方法详解

在很多场合为了显示出信息的及时性,一般会将时间显示成“刚刚”,“5分钟前”,“3小时前”等,而不是直接将时间打印出来。比如微博,SNS类应用就最长用到这个功能。而一般存储在数据库中的时间...

php 带逗号千位符数字的处理方法

通常用number_format(); 来格式化数字,默认情况千位符是用逗号间隔的,比如: 复制代码 代码如下: echo number_format("10000.01231", 2)...

深入解析yii权限分级式访问控制的实现(非RBAC法)

yii framework 提供了2套权限访问系统,一套是简单的filter(过滤器)模式,另一套是复杂全面的RBAC模式,我这里要讲的是第一套(因为我也刚刚学到这里)。如 果你有研究过...

Erlang的运算符(比较运算符,数值运算符,移位运算符,逻辑运算符)

Erlang的比较运算符 opDescription==等于/=不等于=<小于等于<小于>=大于等于>大于=:=精确的等于=/=精确的不等于等于和精确等于的区别:...

php算法实例分享

只打印0   具体个数由输入的参数n决定   如n=5就打印00000 <?php $n = $_GET['n']; for ($i=0; $i < $n...