JS实现前端调用后端get请求在url后拼接参数

前端开发中,经常会遇到在 URL 后拼接参数的需要,而我最近在做项目的时候就遇到了,所以特此把自己的实现方式做了一个总结记录下来,也为其他需要的小伙伴做个参考。前端在调用后端 GET 请求时,url 的接口名称和参数一般是字符串拼接的方式,为了避免字符串拼接时 key 值对应的 value 为 null 对后端的判断造成干扰,前端可以处理为 value 为 null 时该参数的 key 值省略不传。

JS 实现前端调用后端 get 请求在 url 后拼接参数

以下是我自己封装了一个获取参数的方法,在 vue 的 methods 方法中:

/**
 * @function 参数拼接
 * @param {object} obj 只支持非嵌套的对象
 * @returns {string}
 * @author 码云笔记 2020-4-24
 */
params(obj:any) {
  let result = '';
  let item;
  for (item in obj) {
    if (obj[item] && String(obj[item])) {
      result += `&${item}=${obj[item]}`;
    }
  }
  if (result) {
    result = '&' + result.slice(1);
  }
  return result;
}

如何使用呢?假如我们参数是这个样子的:

const obj = {
  name: '码云笔记',
  value: 'mybj123',
  msg: ''
}

然后在我们需要的地方使用上面封装好的参数方法

const url = `/get/info/${this.params(obj)}`;
console.log(url);

最终在浏览器中显示的 URL 就是

https://域名/get/info/&name=码云笔记&value=mybj123

「点点赞赏,手留余香」

0

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » JS实现前端调用后端get请求在url后拼接参数

发表回复