问题:最近在开发微信小程序,后端是用PHP写的,但是我页面提交过去的Json数据,php页面接收不到,很奇怪!
下面前端代码截图:
后台php代码:
<?php
$val = $_POST['val'];
var_dump($val);
?>
为什么这种格式的数据 php收不到,我应该用什么方法解决,求各路大神赐教!
问题:最近在开发微信小程序,后端是用PHP写的,但是我页面提交过去的Json数据,php页面接收不到,很奇怪!
下面前端代码截图:
后台php代码:
<?php
$val = $_POST['val'];
var_dump($val);
?>
为什么这种格式的数据 php收不到,我应该用什么方法解决,求各路大神赐教!
通过表单提交的数据是form-data形式的,形如a=b&c=d
,可以通过$_POST
变量读取。
而你的问题中,浏览器传来的是raw形式的数据,整个就是个编码的JSON,所以$_POST是取不到值的,只能通过php://input
拿到原始输入:
$raw = file_get_contents('php://input');
$data = json_decode($raw, true);
拿到原始输入还是个编码的JSON,所以需要json_decode
解码,解码完就可以用了
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
代码如下