首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >通过POST将JSON字符串(数组)从Javascript发送到PHP

通过POST将JSON字符串(数组)从Javascript发送到PHP
EN

Stack Overflow用户
提问于 2017-04-01 16:36:41
回答 1查看 598关注 0票数 1

几个小时以来,我试图找到一种简单的解决方案,将准备好的JSON字符串发送到PHP方法。Javascript部分:

代码语言:javascript
代码运行次数:0
运行
复制
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');)回显原始数据。我明白了:

代码语言:javascript
代码运行次数:0
运行
复制
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字符串团队?我试过这个:

代码语言:javascript
代码运行次数:0
运行
复制
$data = json_decode(file_get_contents('php://input'), true);
echo $data;

没有成功。我认为$data是空的。

我试过这个:

代码语言:javascript
代码运行次数:0
运行
复制
echo $_POST['teams'];

这让我想到了这个:

代码语言:javascript
代码运行次数:0
运行
复制
[{\“id\“: 110, \“teamname\“: \“first\“}, {\“id\“: 140, \“teamname\“: \“second\“}]

它不能用作json_decode中的字符串。

主要的问题是,我不知道哪部分是错的。

感谢你的帮助

EN

回答 1

Stack Overflow用户

发布于 2017-04-01 16:52:31

您可以使用jQuery.ajax发布数据,如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
<script>
jQuery.ajax('./?updateTeamnames', {
    method: 'POST',
    data: {teams: [{id: 110, teamname: "first"}, {id: 140, teamname: "second"}]}
});
</script>

在PHP脚本中,您可以通过转储查看数据:

代码语言:javascript
代码运行次数:0
运行
复制
var_dump($_POST['teams']);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43154632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档