2

我有这个 JavaScript 源代码:

var mydata = [];

$('.myManyElements').each(function() {
    mydata.push({
        'id': $(this).data('id'),
        'quantity': $(this).data('quantity'),
        'price': $(this).data('price'),
        'price_total': Order.getTotalPrice()
    });
});

$.post('/archive', mydata, function(data) {
    if(data.success) {
        alert(data.response);
    } else {
        alert('Custom Error Report!');
    }
}, 'json');

在我的/archive请求中,我有这个示例 PHP:

echo json_encode(array(
    'success' => true,
    'response' => print_r($_POST, true),
));

当我检查 Firebug 的 XHR 的 NET 面板时,在 POST 选项卡中它说我已经发送了这个:

undefined=

当我收到我的回复时,alert它会输出:

Array
(
    [undefined] => 
)

为什么我不能为我的 POST 请求发送数据数组?

4

1 回答 1

1

尝试

$.post('/archive', {'mydata': JSON.stringify(mydata)}, function(data)
于 2012-11-07T00:33:55.923 回答