我正在项目中使用jstree并尝试将我的树保存到数据库。
我正在获取树数据如下:
var tmp = $('#tree').jstree(true).get_json();
console.log(tmp);
这会像我期望的那样在控制台中生成一个JSON对象:
但是当我使用jquery发布到PHP脚本时...
$.ajax({
type: 'POST',
url: '/saveTree',
data: {'tree': tmp},
success: function(msg) {
console.log(msg);
}
});
...它显示了我的数据的PHP数组:
我在/saveTree
处的脚本在tree
数组后键中显示POST数据:
var_dump($this->request->data['tree']);
我认为,因为我发布到脚本的数据是JSON格式,我需要在另一端json_decode()
吗?如果没有,为什么不呢?
我也尝试在ajax请求中添加dataType: 'json',
,但这没有任何区别。
这里发生了什么?
请注意/saveTree
的PHP脚本在CakePHP 2.x中运行,因此上面的PHP行相当于常规PHP中的var_dump($_POST['tree'])
。