当前位置:   article > 正文

全局接口参数去掉里面的字符串两端空格_如何去掉传递的接口数据中的空格

如何去掉传递的接口数据中的空格
  1. const formatTrimValue = data => {
  2. let trimData = data;
  3. formatArrOrObjTrimValue(trimData);
  4. return trimData;
  5. }
  6. const formatArrOrObjTrimValue = val => {
  7. for(let i in val) {
  8. if(typeof val[i] === 'string' && val[i].length>0) {
  9. val[i.trim()] = val[i].trim();
  10. // 如果key两端有空格
  11. if(i.trim().length<i.length) {
  12. delete val[i];
  13. }
  14. }
  15. else if(
  16. isAnyObject(val[i]) ||
  17. (Array.isArray(val[i]) && val[i].length > 0)
  18. ) {
  19. val[i.trim()] = val[i];
  20. // 如果key两端有空格
  21. if(i.trim().length<i.length) {
  22. delete val[i];
  23. }
  24. formatArrOrObjTrimValue(val[i.trim()])
  25. }
  26. }
  27. }
  28. const isAnyObject = val => Object.prototype.toString.call(val) === '[object Object]'
  29. const o1 = {
  30. a: {
  31. ' a1 222': ' 1 222',
  32. a2: [' 222 ',{aa: ' bbbb '}]
  33. },
  34. ' b1 ': {
  35. a1: ' 1sds 222',
  36. ' a3 ': [' sss 222 ',{aa: ' bbbb sss '}]
  37. }
  38. }
  39. console.log(formatTrimValue(o1))
  40. // 在接口中使用:
  41. const Api = axios.create({
  42. baseURL: '/api',
  43. timeout: 50000,
  44. headers: {}
  45. });
  46. Api.interceptors.request.use(config=>{
  47. config.data = isAnyObject(config.data)?formatTrimValue(config.data):config.data;
  48. // 其他设置略...
  49. return config;
  50. })
  51. // 其他略....

这样基本可以满足接口传参的要求了,不管你输入的两端有没有空格,空格是否在更深处的数组中或者对象中都能够处理,不用费心在每次接口交互的时候留意需要去两端空格的问题了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/639766
推荐阅读
相关标签
  

闽ICP备14008679号