php中$_POST接收不到前端数据的解决方法
默认情况下前端请求类型为Content-Type:application/x-www-form-urlencoded,使用$_POST即可取到数据,如果前端请求类型为Content-Type:application/json,仅仅使用$_POST无法取到数据。(如vue.js的axios,默认方式为application/json)此时可以通过$GLOBALS['HTTP_RAW_POST...
·
默认情况下前端请求类型为Content-Type:application/x-www-form-urlencoded,使用$_POST即可取到数据,
如果前端请求类型为Content-Type:application/json,仅仅使用$_POST无法取到数据。(如vue.js的axios,默认方式为application/json)
此时可以通过$GLOBALS['HTTP_RAW_POST_DATA']取得,再使用json_decode转为对象,示例如下
$mypost = $GLOBALS['HTTP_RAW_POST_DATA']
$postdata = json_decode($mypost);
$username = $postdata->username;
如果提示Undefined index: HTTP_RAW_POST_DATA,则将代码改为如下即可。
$mypost = isset($GLOBALS['HTTP_RAW_POST_DATA'])?$GLOBALS['HTTP_RAW_POST_DATA']:file_get_contents("php://input");
$postdata = json_decode($mypost);
$username = $postdata->username;
更多推荐
已为社区贡献2条内容
所有评论(0)