如何解析从php中的jQuery ajax调用收到的json数据

时间:2012-04-29 00:35:51

标签: php jquery json

在创建对象并使用jquery.json转向后,我通过ajax调用php脚本(getNum.php) 它到了json。现在我想处理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
    }

    });

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分:0)

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

$data = json_decode(file_get_contents('php://input'));
print_r($data);