几个小时我试图找到一个简单的解决方案,将一个准备好的JSON字符串发送到PHP方法。 Javascript部分:
form = document.createElement("form"),
node = document.createElement("input");
var element1 = document.createElement("input");
form.method = "POST";
element1.value='[{"id": 110, "teamname": "first"}, {"id": 140, "teamname": "second"}]';
element1.name="teams";
form.appendChild(element1);
form.appendChild(node.cloneNode());
form.action = "?updateTeamnames";
form.style.display = "none";
document.body.appendChild(form);
form.submit();
document.body.removeChild(form);
PHP: 如果我用(echo file_get_contents(' php:// input');)回显原始数据。我明白了:
teams=%5B%7B%22id%22%3A+110%2C+%22teamname%22%3A+%22first%22%7D%2C+%7B%22id%22%3A+140%2C+%22teamname%22%3A+%22second%22%7D%5D
如何访问JSON字符串团队? 我试过这个:
$data = json_decode(file_get_contents('php://input'), true);
echo $data;
没有成功。我认为$ data是NULL 我试过这个:
echo $_POST['teams'];
这让我想到了这个:
[{\“id\“: 110, \“teamname\“: \“first\“}, {\“id\“: 140, \“teamname\“: \“second\“}]
在json_decode中不能用作字符串。
主要问题是,我不知道哪个部分是错的...
谢谢你的帮助
答案 0 :(得分:0)
您可以使用jQuery.ajax发布数据,如下所示:
<script>
jQuery.ajax('./?updateTeamnames', {
method: 'POST',
data: {teams: [{id: 110, teamname: "first"}, {id: 140, teamname: "second"}]}
});
</script>
在PHP脚本中,您可以通过转储查看数据:
var_dump($_POST['teams']);