gpt4 book ai didi

javascript - "php://input"json ajax 请求返回字符串

转载 作者:行者123 更新时间:2023-11-30 11:36:17 24 4
gpt4 key购买 nike

我从 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

最佳答案

就像 Sammitch 在他的评论中提到的那样,您当前的代码正在使用表单编码发送它。对于你想要的,在将数据发送到服务器之前将数据字符串化,以便它以 JSON 格式接收。修改你的电话是这样的:

$.ajax({
"url": "myFile.php",
"type": "POST",
"contentType": "application/json",
"data": JSON.stringify({"id": "myId"}),
})

这应该导致输入成为一个 json 编码的对象。

关于javascript - "php://input"json ajax 请求返回字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44291886/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com