在Ajax调用之后,PHP总是返回[object Object]

时间:2016-10-25 06:07:16

标签: php jquery json ajax

在网页上创建一个表单,然后将其处理为处理数据的PHP脚本:

$requestData = file_get_contents("php://input");

数据被称为名为“data”的JSON对象:

[
    {
        "label": "Some label",
        "value": "Some value"
    },
    {
        "label": "Some label",
        "value": "Some value"
    },
    ...
]

Ajax调用如下:

        $.ajax({
            url: "/App/Reserver/Ajax/ajaxcall.php",
            type: "POST",
            dataType: "json",
            processData: false,
            data: data,
            success: function(data,statut){
                console.log("Données : " + JSON.stringify(data));
            }
        });

当我在网络浏览器控制台中检查帖子参数时,请始终:

[object Object]
...

使用:

,响应为NULL
$requestData = file_get_contents("php://input");
var_dump($requestData);

即使使用:

$requestData = json_decode(file_get_contents("php://input"));
var_dump($requestData);

我错过了什么,但不知道是什么...不确定我的ajax电话,也不是我的ajax电话参数。

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

如果

 data =[
    {
        "label": "Some label",
        "value": "Some value"
    },
    {
        "label": "Some label",
        "value": "Some value"
    },
    ...
]

来自数据:数据;来自你的ajax sintax然后

更改data:{data:data}

并在php中使用$_POST变量来获取数据值:

$data = json_decode($_POST['data']);
var_dump($data);

取得成功:

success: function(data,statut){
                console.log("Données : " +data);
            }

答案 1 :(得分:0)

尝试:

$ requestData = file_get_contents(“php:// input”,NULL,NULL); 的var_dump($的RequestData);