接口传参特殊字符处理方法

Posted 回见

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口传参特殊字符处理方法相关的知识,希望对你有一定的参考价值。

一:场景---参数中有%等,后端不便处理可在前端传入时编辑
(1)方法:
encodeKey = key => {

const encodeArr = [
  {
    code: \'%\',
    encode: \'%25\',
  },
  {
    code: \'?\',
    encode: \'%3F\',
  },
  {
    code: \'#\',
    encode: \'%23\',
  },
  {
    code: \'&\',
    encode: \'%26\',
  },
  {
    code: \'=\',
    encode: \'%3D\',
  },
  {
    code: \'+\',
    encode: \'%2B\',
  },
  {
    code: \'/\',
    encode: \'%2F\',
  },
];
return key.replace(/[%?#&=+/]/g, $ => {
  for (const k of encodeArr) {
    if (k.code === $) {
      return k.encode;
    }
  }
});

};
(2)调用
this.encodeKey(key)
若封装到通用逻辑例util.js页面 调用util.encodeKey(key)
二:出参时接口返回不可转化的\\n换行符
(1)方法
unEscapehtml= content => {

let ct = content;
if (!ct) return \'\';
const reg = /\\\\n/;
if (reg.test(ct)) {
  ct = ct.replace(/\\\\n/g, \'\');
}
const div = document.createElement(\'div\');
div.style.display = \'none\';
div.innerHTML = ct;
return div.innerText;

},
};
(2)调用
this.unEscapeHtml(content)
若封装到通用逻辑例util.js页面 调用util.unEscapeHtml(content)
三:出参时返回 HTML 实体 &, <, >, ", \', 和 `
(1)方法
页面 import lodash from \'lodash\'; 调用:lodash.unescape(val)
方法详解:https://www.lodashjs.com/docs...

以上是关于接口传参特殊字符处理方法的主要内容,如果未能解决你的问题,请参考以下文章

URL传参中不能带特殊的字符以及处理方案

传参的时候遇到特殊符号的处理

URL传参中不能带特殊的字符以及处理方案

URL 传参中需要处理的特殊字符

ajax传参里含有特殊字符的坑

vuerouter.query如何获取含有特殊字符的参数