使用POST jquery发送数组(对象)

时间:2013-08-11 10:27:53

标签: php jquery ajax json

var data = {
    'ids': $("input[name='ids\\[\\]']").map(function(){return $(this).val();}),
    'price': $("input[name='price\\[\\]']").map(function(){return $(this).val();})
};

alert(data);


$.post("api/update_prices.php", {'data[]': data}, function (responseText) {
    alert(responseText);
});

...或

$.post("api/update_prices.php", data, function (responseText) {
    alert(responseText);
});

警报数据正在输出对象(对象)。我正在寻找Stackoverflow,它仍然无法正常工作。从不调用alert(responseText)。

3 个答案:

答案 0 :(得分:1)

您是否尝试在jQuery Ajax API中将内容类型指定为"application/json",然后调用

  

JSON.stringify(数据);

另外,在Google Chrome浏览器中打开Web开发人员控制台,然后导航到“网络”标签,查看Ajax调用期间发生的情况。即发送什么数据以及在Ajax Call中接收哪些数据。

答案 1 :(得分:0)

你试过serialize吗?它总结了所有表单数据。这似乎是您尝试使用data对象。

$.post("api/update_prices.php", $(':input').serialize(), function (responseText) {
    alert(responseText);
});

http://api.jquery.com/serialize/

答案 2 :(得分:0)

你的$ .post函数应该是这样的:

$.post("api/update_prices.php", {'data[]': JSON.stringify(data)}, function (responseText)  {
    alert(responseText);
});

注意 JSON.stringify