尝试在回发之前向 3d ajax 数组添加更多索引

问题描述 投票:0回答:1

嗨,我正在尝试根据具有“已更改”数据集的元素创建动态 ajax 请求数据数组。

我已经成功添加了额外的索引,但它只添加了最后一个索引。我需要推动每一项。我只是不确定我错过了什么。

let payload = {
    UpdateID: {
        Table: `newton_manual_loads`,
        Code: `nml`,
        Rows: {},
        Where: `nml_id = ` + LoadID
    }
};

let Changed = $(`[data-changed='true']`);
Changed.each(function (ix, element) {
      let id = $(element).attr(`id`);
      let value = $(element).val();

      payload.UpdateID.Rows = { [id]: value };

      console.log(id + `:` + value);
});
console.log(payload);

payload = JSON.stringify(payload);
$.ajax(`/libraries/ajax/Update.ajax.php`, {
    type: `POST`,
    data: { payload: payload },
    success: function (data) {
        /*rest of code*/
});

这段代码的输出是

并且

Row:{}
的输出需要是

          nml_pod_number:20
          nml_loading_gross_weight:600
          nml_loading_nett_weight:15
}
javascript jquery ajax
1个回答
0
投票

但它只是添加最后一个

每次迭代都会覆盖相同的值:

payload.UpdateID.Rows = { [id]: value };

因此之前的所有值都会丢失。您可以通过将以前的值包含在作业中来保留它们:

payload.UpdateID.Rows = { ...payload.UpdateID.Rows, [id]: value };

或者,不进行赋值,只需添加属性:

payload.UpdateID.Rows[id] = value;
© www.soinside.com 2019 - 2024. All rights reserved.