【发布时间】:2017-05-31 18:09:00
【问题描述】:
我从file_get_contents('php://input') 得到一个字符串。我试过json_decode(),但字符串不是json。这是ajax请求和php代码。如何获取ajax请求发送的json并将其转换为php数组?
$data = file_get_contents('php://input');
var_dump($data);
echo $data;
输出:
string(7) "id=myId"
"id=myId"
Ajax(包括 Jquery):
$.ajax({
"url": "myFile.php",
"type": "POST",
"contentType": "Json",
"data": {"id": "myId"},
}).done(function(data, status) {
if (status == "success") {
console.log(data);
}
}).fail(function(data, status, error) {
throw new Error(error);
console.log(data);
console.log(status);
});
编辑:json_encode() 返回 null,所以我不能使用这个问题的答案:PHP: file_get_contents('php://input') returning string for JSON message
【问题讨论】:
-
它是表单编码的。您可以自己解码,或者通过 PHP 已经解码的
$_POST['id']访问它。 -
$_POST["data"]和$_POST["id"]对我不起作用,所以我不得不使用file_get_contents('php://input')来完成这项工作
标签: javascript php jquery json ajax