我有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":{}}"
}
答案 0 :(得分:1)
你只有一个JSON对象(不是对象数组),所以在php中有一维数组,不需要使用0索引:
<?php
include_once("db.php");
$data = json_decode($_GET["data"],true);
echo $data["job_id"];
?>