繁体   English   中英

Ajax发布请求嵌套参数无数据

[英]Ajax post request nested parameters no data

我正在尝试使用Ajax向我的rails控制器发出Ajax请求。

$.ajax({
  url: '/vulnerabilities/export',
  type: 'GET',
  processData: false,
  data: {export: {ids: this.refs.table.state.selectedRowKeys }}
});

当有ID的数据(来自复选框)时,参数正确,看起来像这样

{"export"=>{"ids"=>["1", "2"]}, "controller"=>"export", "action"=>"index"}

但是,当没有id时,参数是这样的

{"controller"=>"export", "action"=>"index"}

我想要的是在没有id的情况下发送一个空数组,因此它看起来像这样

{"export"=>{"ids"=>[]}, "controller"=>"export", "action"=>"index"}

我该如何实现?

谢谢

您可以检查参数是否为数组,然后在数据部分中将其设置之前验证其长度。

/**
* Gets some type of vulnerabilities
* @param Array
*/
function getExport(ids) {
    var idSet = (Array.isArray(ids) && ids.length > 0) ? ids : [];
    $.ajax({
      url: '/vulnerabilities/export',
      type: 'GET',
      processData: false,
      data: {export: {"ids": idSet }, ...}
    });

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM