時間すぐにPHPのメソッドに準備完了のJSON文字列を送信する簡単な解決策を探します。 Javascriptの一部:JavascriptからPOST経由でPHPにJSON文字列(配列)を送信
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;
成功なし。 $ dataはNULLだと思います。
echo $_POST['teams'];
これに私を導いた:json_decode内の文字列として使用することはできません
[{\“id\“: 110, \“teamname\“: \“first\“}, {\“id\“: 140, \“teamname\“: \“second\“}]
は、私はこれを試してみました。
主な問題は、あなたが以下のようにデータを投稿するjQuery.ajaxを使用することができます...私が間違っているどの部分かわからないという、
jQuery.ajaxを使ってデータを送信しないのはなぜですか? –
$ _POST ['teams']をjson_decode()に置くと問題が解決しました!なぜ文字列として使用できないのですか? – CyC0der
私はそれをしました。私は$ object = json_decode($ _ POST ['teams'])を書きました。 その後、私は値にアクセスするためにトリッシュします。失敗。 私は悲しいが、私はどの部分が間違っているのか分からない。多分$ objec [0] - > id、$ object [0] ['id']のようなアクセスです... – Franklin84