Json stringify无法用PHP读取

时间:2017-01-12 09:45:24

标签: php json foreach

我发布了jquery数据变量,但PHP无法读取数据变量

Javascript方面:

var data = JSON.stringify(details);

$.ajax({
data: data,
type: 'POST',
url: '/dashboard/example.php',
});

PHP方面:

$json=json_decode($_POST['data']);
foreach ($json as $value) {

...SQL update...

}

如果我像这样在PHP中声明数据变量,它是有效的,但是帖子不起作用。

$string='[{"node":{"_DT_RowIndex":1},"oldData":"2","newData":"1","newPosition":0,"oldPosition":1},{"node":{"_DT_RowIndex":2},"oldData":"3","newData":"2","newPosition":1,"oldPosition":2},{"node":{"_DT_RowIndex":3},"oldData":"4","newData":"3","newPosition":2,"oldPosition":3},{"node":{"_DT_RowIndex":0},"oldData":"1","newData":"4","newPosition":3,"oldPosition":0}]';

$json=json_decode($_POST['data']);


foreach ($json as $value) {
...
}

你能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

jQuery.ajax不要使用密钥data: {foo: "Bar"} 发布自定义数据,密钥来自您的数据。

例如,如果您的数据是:

$_POST['foo']

然后Bar会给你$_POST['data']

如果您希望使用$.ajax({ data: { data: data }, type: 'POST', url: '/dashboard/example.php', }); 获取整个数据,则必须先设置密钥。

$_POST

现在,您的data将拥有req.body.rate密钥。您可以随意重命名此密钥。