【问题标题】:Posting checkbox value via ajax通过ajax发布复选框值
【发布时间】:2020-05-14 17:21:04
【问题描述】:

在将其标记为重复之前,请阅读我的关注

我有一个 ajax,它发布选中的复选框序列化数据。我选择了大约 40k 复选框。但是当我转储序列化数据计数时,我只得到大约 20k 个计数。我错过了什么

var investors=investorDatatable.$("input[name='investors[]']:checked").serializeArray();
    console.log(investorDatatable.$("input[name='investors[]']:checked").length);
    console.log(investors);
    if(investors)
    {
    $('#loader').show();
    $.ajax({
        url: deleteMultipleUrl,
        type: 'POST',
        data:  investors,
        dataType: 'json',
        success: function (data) {
            if (data['status'] = 'success') {
    }

第一个控制台输出是39862 第二个控制台输出是一个包含 39862 条记录的数组。

但是当我在控制器中转储计数时,它显示 20001

【问题讨论】:

标签: jquery ajax symfony serialization checkbox


【解决方案1】:

尝试以 FormData 的形式发送请求,并观察传输了多少条记录。您需要找到数据被剪切的位置。

【讨论】:

  • 实际上我的情况是发送 datatble 中所有选择的复选框。但我将其作为 formdata 发送。它只发布 DOM 上的复选框而不是整个数据。那;s为什么使用investorDatatable.$("input[name='investors[]']:checked").serializeArray()
  • 也许尝试手动将数据添加到 FormData。还尝试使用 POST-request(邮递员等)实用程序来检查您的服务器是否可以接受这么长的 json。 console.log(JSON.stringify(investors)); 然后将其数据放入 POST 实用程序
  • 当我在控制台上使用 JSON.stringify(investors) 时,它会显示所有数据
  • 是的,然后通过 Postman (link) 使用此数据向 url 发出 POST 请求
  • 感谢您在我使用 JSON.stringify 时的回答,它工作正常。
猜你喜欢
  • 2018-12-03
  • 1970-01-01
  • 2021-10-18
  • 2016-07-16
  • 2014-02-05
  • 2021-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多