我正在尝试使用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时,params就像这样
{"controller"=>"export", "action"=>"index"}
我想要的是它在没有id时发送一个空数组,所以它看起来像这样
{"export"=>{"ids"=>[]}, "controller"=>"export", "action"=>"index"}
我怎样才能做到这一点?
由于
答案 0 :(得分:0)
您可以检查param是否为数组,然后在数据部分设置之前验证长度。
/**
* 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 }, ...}
});
}