0
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);
});

警报数据正在输出一个 Object(对象)。我正在寻找 Stackoverflow,但它仍然无法正常工作。alert(responseText) 永远不会被调用。

4

3 回答 3

1

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

JSON.stringify(数据);

此外,在 Google Chrome 浏览器中打开 Web 开发人员控制台并导航到 Network 选项卡以查看 Ajax 调用期间发生的情况。即在Ajax Call 中发送了什么数据,接收了什么数据。

于 2013-08-11T10:32:06.677 回答
0

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

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

注意JSON.stringify

于 2013-08-11T11:02:14.157 回答
0

你试过serialize吗?它汇总了所有表单数据。这似乎是您要对data对象执行的操作。

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

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

于 2013-08-11T10:32:30.413 回答