我非常清楚这可能是重复的,但Stackoverflow上的其他任何问题/答案都没有解决我的问题,而且我已经看过数十< /强>!
以下是我尝试做的事情: 通过Ajax将jQuery中的对象发送给PHP,如果可能的话,作为数组发送(不是强制性的,但更可取)。
我的 jQuery 代码:
var category = {
id: $(this).data('id'),
name: $(this).data('name'),
brief_description: $(this).data('briefdesc'),
description: $(this).data('desc')
};
$.ajax({url: '/ajax.php',
data: {action: 'removeCategory', category_info: JSON.stringify(category)},
type: 'post',
success: function (result) {
console.log(result);
},
error: function () {
console.log("Error");
}, dataType: "json"
});
变量类别工作正常,每个索引都有其值
现在我的 ajax.php 代码
$category = json_decode($_POST['category_info']);
//category['name'] should exist and have the value sent from ajax
echo "We did it?";
问题在于调用了错误函数。
答案 0 :(得分:1)
json_decode($_POST['category_info'], true);
将其解码为数组,否则将为对象
答案 1 :(得分:1)
你不需要字符串化。
$.ajax({
url: '/ajax.php',
data: {
action: 'removeCategory',
category_info:category
},
type: 'post',
在PHP方面,你将在$ _POST [&#39; category_info&#39;]中获得它。无需解码