1

JS スクリプトに次のデータがあります。

$("#holdSave").live('click', function () {
    var arr = {};
    var cnt = 0;

    $('#holdTable tbody tr').each(function () {
        arr[cnt] = {
            buyer: $(this).find('#tableBuyer').html(),
            sku: $(this).find('#tableSku').html(),
            isbn: $(this).find('#tableISBN').html(),
            cost: $(this).find('#tableCost').val(),
            csmt: $(this).find('#tableConsignment').val(),
            hold: $(this).find('#tableHold').val()
        };
        cnt++;
    }); //end of holdtable tbody function
    console.log(arr);
    $.ajax({
        type: "POST",
        url: "holdSave.php",
        dataType: "json",
        data: {
            data: arr
        },

        success: function (data) {

        } // end of success function

    }); // end of ajax call

}); // end of holdSave event

これをphpファイルに送信して、データベースを更新し、更新が完了したことをメールで送信する必要があります。私の console.log(arr); firebugで実行するとオブジェクトが表示されますが、php側の情報を取得できません。これが私がphpコードのために持っているものです:

$data = $_POST['data']; 

print_r($data); die;

この時点で、送信されている情報があることを確認しようとしています。私の print_r($data); 何も返しません。誰かが私を正しい方向に向けることができますか?

4

3 に答える 3

1

dataType: "json"送信しているものではなく、リクエストでjsonデータを取得することを期待していることを意味します。

$_POST['data']を使用して取得するjson文字列を送信する場合

data: {data: JSON.stringify(arr)},
于 2012-07-16T18:22:14.270 に答える
1

json_encode()メソッドとjson_decode()メソッドを使用する

于 2012-07-16T18:14:18.950 に答える
0

次の方法を使用します。

data = {key1: 'value1', key2: 'value2'};

$.post('holdSave.php', data, function(response) {
    alert(response);
});

注: テストしていません。必ず解析エラーを探してください。

于 2012-07-16T18:16:35.350 に答える