gpt4 book ai didi

javascript - JS 到 PHP 的 POST 请求 : wrong JSON

转载 作者:行者123 更新时间:2023-11-28 10:37:47 26 4
gpt4 key购买 nike

当我向 php 发送 post 请求时 - 它返回字符串给我,我无法用它做任何事情。

这是我对 JS 的请求:

axios.post("ajax.php", JSON.stringify(myObj))

这就是我在 PHP 中获取数据(从 JS)的方法:

$data = $_POST;

这就是 $data var_dump 的响应

array(1) {
["{"username":"rew","info":"rew"}"]=>
string(0) ""
}

我需要2个变量。第一个用户名和第二个信息。我该怎么做?这条线可以分开吗?或者我发送的格式错误?

我的完整 PHP 代码

$data = array(
"userName" => $_POST['userName'],
"pass" => $_POST['pass']
);
$opts = array(
'http'=>array(
'method' => 'POST',
'content' => json_encode($data),
'header' => "Content-Type: application/json\r\n" .
"Accept: application/json\r\n" .
"Authorization: Basic " . base64_encode("$username:$password"),
)
);
$context = stream_context_create($opts);
$file = file_get_contents($remote_url, false, $context);
echo $file;

和 var myObj

let myObj = {
"username": "rew",
"info": "rew"
};

最佳答案

看来您不需要字符串化该对象。 axios 的默认内容类型将是 application/json,所以这应该可以工作:

axios.post("ajax.php", myObj);

至于 $_POST 只会出现内容类型 application/x-www-form-urlencodedmultipart/form-data,您需要更改代码以解码原始输入:

json_decode(file_get_contents('php://input'), true);

关于javascript - JS 到 PHP 的 POST 请求 : wrong JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58223092/

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