为什么我不能在jQuery ajax / post中发送数据数组?

时间:2012-11-07 00:23:25

标签: jquery ajax

我有这个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请求发送数据数组?

1 个答案:

答案 0 :(得分:1)

尝试

$.post('/archive', {'mydata': JSON.stringify(mydata)}, function(data)