将JSON字符串(数组)从PHP发送到PHP几个小时,我尝试找到一个简单的解决方案,将准备好的JSON字符串发送到PHP方法。 JavaScript部分:通过发送POST
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: 如果我回声(回声的file_get_contents( 'PHP://输入');)的原始数据。我得到这个:
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;
没有成功。我认为$数据是NULL。
我尝试这样做:
echo $_POST['teams'];
这使我这个:
[{\“id\“: 110, \“teamname\“: \“first\“}, {\“id\“: 140, \“teamname\“: \“second\“}]
不能被用作json_decode字符串。
的主要问题是,我不知道哪一部分是错误的...
感谢您的帮助
为什么不使用jQuery.ajax发送数据? –
如果你在json_decode()上放置$ _POST ['teams'],那么它解决了这个问题!为什么不能用作字符串? – CyC0der
我做到了。我写了$ object = json_decode($ _ POST ['teams']); 之后,我可以访问一个值。没有成功。我很伤心:我不知道哪一部分是错的。也许只是像$ objec [0] - > id或$ object [0] ['id']的访问... – Franklin84