jquery的ajax无法上传空数组

问题:jquery里的ajax在提交post请求时,如果数据里有一个空数组,则这个空数组不会提交上去:



有人会问:为啥要提交一个空数组上去呢?因为有时会有这样的需求啊,比如说后端接口兼容等等,这里是因为场景是数据保存用户选中的选项,空数组就代表用户全不选。

当然,除了技术上的解决办法,也有很好的其他思路,比如说,可以跟后台商议用其他字段来表示用户全不选。其实本身来说,用undefined做业务逻辑是不可取的。

技术上的解决办法是:



这两个一起用,就可以上传空数组了。


下面我们来看一下问题的本质:为什么ajax post上传之后,空数组会被过滤掉呢?原因就在于jquery的ajax方法中的这段代码:



那么是不是可以:把ajax方法里面processData设置为false之后,再去序列化一下参数呢?


然而实践结果虽然能上传过去,但是名称却变成了[object Object]

总之,还是老老实实地用第一种解决方案吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值