背景
在开发表单过程,有的字段在某些场景下可能没有实际值,传递的还是初始值(比如空字符串''
,空对象指针null
和未定义值undefined
),在我的项目中,会转换为JSON
字符串后给到后端的同学,经常会遇到数据类型匹配不上的问题,双方的矛盾出现了233~
思路
基础版本
比如一个整型数据类型的表单字段,在前端初始化时是null
,该字段是非必填项,用户没有输入,到后端就直接报错,提示这个用户类型有问题,那么在页面里,提交表单之前,进行字段进行摘除或者赋予一个初始值(类型为后端可接受的)。
进阶版本
上面的解决方法在涉及数据转换的页面较少的情况下,暂时可以,但是如果页面比较多,每个页面都需要手动处理下,这时业务代码和数据转换杂糅在一块,会影响业务代码的可读性,所以不是很建议,最好在某一个地方统一进行过滤处理,我的项目中是使用axios
库发送请求,所以可以在axios
的请求拦截器中,对数据进行统一过滤
- axios的请求数据
在我的项目中,请求的数据一般放在axios.config的params
或者data
中,所以在进行过滤时,仅过滤这两个字段中的数据,这里需要结合项目的实际情况进行处理
请求api一般如下
实现
- 过滤函数
过滤config.data
和config.params
两个属性里的参数
- 在axios请求拦截器中使用
- post请求:如果页面中调用
createUser
接口,传递如下
经过axios
的请求拦截器里的clearEmptyParam
函数处理后,结果如下:
可以看到is_married
字段被移除了
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!