1

在创建对象并使用 jquery.json 将其转换为 json 之后,我通过 ajax 调用 php 脚本(getNum.php)。现在我想在 php 端处理对象。 print_r($_POST['data'])不起作用,我尝试过的任何其他方法都不起作用。

这是我的代码:

// create object
    var bing= new Object();
    bing.id = 99;
    bing.nameList = getBingList();

    //create pdf
    $.ajax({
    type: "POST",
    contentType: "application/json; charset=utf-8",
    url: "getNum.php",
    dataType: "html",
    data: $.toJSON(bing),
    success: function(data){
        alert(data);
        window.location = "generateBing.php?num="+data
    }

    });
4

2 回答 2

2

如果您print_r($_POST['data'])用于显示内容,则还需要将其作为“数据”发送。

$.ajax({
    type: "POST",
    url: "getNum.php",
    data: {data: $.toJSON(bing)},
    success: function(data){
        alert(data);
        window.location = "generateBing.php?num="+data
    }
});

否则你必须做print_r($_POST)

于 2012-04-29T00:47:54.413 回答
0

由于您直接发布 JSON 对象,因此 $_POST 没有参数名称。您需要阅读 POST 请求的原始内容。尝试这个:

$data = json_decode(file_get_contents('php://input'));
print_r($data);
于 2012-04-29T00:43:43.373 回答