如何向POST
发送JSON
请求和main.php
数组以返回key_1
的值?我下面的当前方法不起作用,我不知道如何解决此问题。
script.js:
var array = {};
array["key_1"] = "obj_1";
array["key_2"] = "obj_2";
array["key_3"] = "obj_3";
var http = new XMLHttpRequest();
http.open("POST", "main.php");
http.onload = function () {
document.querySelector("p").innerHTML = this.responseText;
}
http.send(array);
main.php:
<?php
$params = json_decode(file_get_contents("php://input"));
echo ($params["key_1"]);
?>
index.html:
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<p></p>
</body>
</html>
答案 0 :(得分:1)
file_get_contents()
不解析内容。您需要通过json_decode()
传递值。
<?php
$params = json_decode(file_get_contents("php://input"), true);
echo ($params["key_1"]);
?>
答案 1 :(得分:1)
在main.php
中,使用以下代码:
<?php
$params = json_decode(file_get_contents("php://input"));
echo $params->key_1;
?>
解码JSON字符串时,将其转换为stdClass对象。
如果要解码JSON并将其转换为数组,请使用以下代码:
<?php
$params = json_decode(file_get_contents("php://input"), true);
echo $params['key_1'];
?>