发送请求时候过滤空字符串给后端

文章描述了在使用ElementUI的input组件时,数据筛选后参数残留导致请求携带空值的问题。作者通过在Utils中封装一个filterEmptyObj方法,过滤对象中为空的属性,然后在Vue的main.js中全局注册,以便在发送请求前调用来确保请求体不包含空值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在提交请求给后端时候会在携带参数上出现某参数为空的情况,这样对数据传输造成不好的影响

 

 因为是采用element的input。本来以为是清除功能没有清空数据导致  后来发现只要进行过一次数据筛选就会留下记录。

最后的解决办法如下

在untils里封装了一个方法,过滤掉所有为空的属性

const filterEmptyObj = obj => {
  const newObj = {}
  Object.keys(obj).forEach(item => {
    if (obj[item]) newObj[item] = obj[item]
  })
  return newObj
}

export default {
  install: Vue => {
    Vue.prototype.$comm = {
      filterEmptyObj
    }
  }
}

 main.js全局注册

 

使用只要在发送请求的请求体前调用相关方法就好了

   /**
     * @func 获取列表
     * @param {Object} reqData
     */
    getTableList() {
      queryIxxxxxxxList(this.$comm.filterEmptyObj(this.reqData)).then(res => {
        
        this.tableData = res.list
      })
    },

这几天写的和过滤过不去了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值