0

データをJSONオブジェクトとして送信するために以下のコードを実行しています

var jdata = JSON.stringify(grid.serialize());
$.ajax({
    'type': 'POST',
    'url': 'print.php',
    'data': jdata, //assuming you have the JSON library linked.
    'contentType': "application/json",
    'success': function (data) {
        alert(data);
    },
    'error': function (x, y, z) {
        alert(x.responseText);
        // x.responseText should have what's wrong
    }
});
alert(JSON.stringify(grid.serialize()));

現在、ajax関数が出力された後のアラート

[{"id":"1","col":"1","row":"1","size_y":"1","size_x":"1"},{"id":"2 ","col":"2","row":"1","size_y":"1","size_x":"1"}]

受信ページで<?php print_r($_POST) ?>、ページが送信されているものを確認するために使用しており、出力を続けています

Array
(
)

単純なものが欠けているに違いありませんが、何がわからないのですか。新鮮な目で、私が犯した単純な間違いに気付くかもしれません。

4

2 に答える 2

0

JSON をサーバーに送信する場合は、バックエンドで次を使用して JSON を取得します。

json_decode(file_get_contents('php://input'));

$_POST スーパーグローバルにはなりません。

于 2013-05-18T12:27:21.810 に答える