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

使用json_encode()andjson_decode()方法

于 2012-07-16T18:14:18.950 回答
1

dataType: "json"意味着您期望在您的请求中检索 json 数据,而不是您发送的内容。

如果要发送一个 json 字符串以通过$_POST['data']使用检索

data: {data: JSON.stringify(arr)},
于 2012-07-16T18:22:14.270 回答
0

使用下一个方法:

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

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

注意:没有测试过,一定要查找解析错误。

于 2012-07-16T18:16:35.350 回答