您使用jQuery发出的ajax请求将发送参数“ name”和值“ john doe”,而不是整个对象。如果要发送整个对象,则必须像这样传递它:
data: { parameters: json_data }在PHP方面,您可以从$ _POST超全局变量获取变量。使用您的示例,您将使用:
$name = $_POST['name'];
或者,如果您发送整个对象,请使用我的示例:
$params = $_POST['parameters'];
无需使用json_depre(),因为从$ _POST数组中拉出的参数已经是本机PHP变量。
如果您有一个要转换为PHP变量的json字符串,则只需要使用它,在这里不是这种情况,因为jQuery会将javascript对象“转换”为后台的查询字符串。
在极少数情况下,您需要以JSON格式从javascript发送数据,但是如果要这样做,则需要类似以下内容:
// JSvar person = "{ name: 'John Doe' }"; // notice the double quotes here, this is a string, and not an object$.ajax({ type: "POST", url: "../bin/process.php", dataType: "json", data: { json: person } });// PHP$json = $_POST['json']; // $json is a string$person = json_depre($json); // $person is an array with a key 'name'


