我有一个简单的 php 文件,可以解码我的 json 字符串,用 ajax 传递,并标记结果,但我不能保留$_POST
变量,为什么???
我尝试使用 fireBug 进行检查,我可以看到 POST 请求已正确发送,当调用php脚本时,他向我响应 Noooooooob,似乎设置了任何 POST 变量。
我想要的只是拥有我的数组=)
生成的 JSON 字符串JSON.stringify
:
[
{
"id":21,
"children":[
{
"id":196
},
{
"id":195
},
{
"id":49
},
{
"id":194
}
]
},
{
"id":29,
"children":[
{
"id":184
},
{
"id":152
}
]
},
...
]
JavaScript
$('#save').click(function() {
var tmp = JSON.stringify($('.dd').nestable('serialize'));
// tmp value: [{"id":21,"children":[{"id":196},{"id":195},{"id":49},{"id":194}]},{"id":29,"children":[{"id":184},{"id":152}]},...]
$.ajax({
type: 'POST',
url: 'save_categories.php',
dataType: 'json',
data: {'categories': tmp},
success: function(msg) {
alert(msg);
}
});
});
save_categories.php
<?php
if(isset($_POST['categories'])) {
$json = $_POST['categories'];
var_dump(json_decode($json, true));
} else {
echo "Noooooooob";
}
?>