將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