无法通过$ _GET

时间:2017-06-25 07:27:59

标签: php jquery json

我有jQuery个对象,我使用JSON.stringify()将该对象转换为JSON string并通过php将其传递给$.get()文件。 在PHP方面,我使用json_decode()对其进行转换PHP Array。 但是当我echo时,它console上没有显示任何内容,而echo print_r()显示1。我尝试使用POST(),但这也是同样的问题。

以下是代码段

var task = {};  // Will be added later.
// Preparing the data to be stored as a file.
var processed = {};
processed["job_id"] = JSON.parse(data).job_id;
processed["task_id"] = JSON.parse(data).task_id;
processed["file_name"] = JSON.parse(data).file;
processed["process"] = task;
console.log(JSON.stringify(processed));
$.get("task.php?processed="+JSON.stringify(processed),function(returndata, status){
    console.log(returndata);
});

Php文件代码:

<?php   

   include_once("db.php");
   $data = json_decode($_GET["processed"],true);
   echo $data[0]["job_id"]   // This will return a blank line.

?>

修改

JSON.stringify(processed)的输出: {"job_id":51,"task_id":120,"file_name":"task00.txt","process":{}}

来自var_dump($_GET)的输出:

array(1) { ["data"]=> string(65) "{"job_id":52,"task_id":127,"file_name":"task00.txt","process":{}}" }

1 个答案:

答案 0 :(得分:1)

你只有一个JSON对象(不是对象数组),所以在php中有一维数组,不需要使用0索引:

<?php   

   include_once("db.php");
   $data = json_decode($_GET["data"],true);
   echo $data["job_id"];

?>