params传参处理

一、 路由传参分为params传参与query传参

  • params传参类似于网络请求中的post请求,params传过去的参数不会显示在地址栏中,但是不能刷新,params只能配合name使用,如果提供了path,params会失效。
  • query 传参类似于网络请求中的 get 请求,query 传过去的参数会拼接在地址栏中(?name=xx)。query 较为灵活既可以配合 path 使用,也能配合 name 使用。

二、如果是get请求且传参为params类型,需要将params转换成能拼接在浏览器地址栏的形式

//如果是get请求且传params类型参数
if(config.method==='get' && config.params){//将params参数转换后拼接到url后面let url = config.url + transParams(config.params)//截取有效urlurl = url.slice(0,-1)config.params = {}config.url = url
}
export function transParams(params){let result = ''//遍历params数组对象,propName为数组中的keyfor (const propName of Object.keys(params)) {//获取valueconst value = params[propName];//转码,类似https%3A%2F%2Fwww.runoob.com%2Fmy%20test.php%3Fname%3Dst%C3%A5le%26car%3Dsaablet part = encodeURIComponent(propName) + "=";if (value !== null && value !== "" && typeof (value) !== "undefined") {//如果value是object对象,需要向内再遍历if (typeof value === 'object') {for (const key of Object.keys(value)) {if (value[key] !== null && value[key] !== "" && typeof (value[key]) !== 'undefined') {let params = propName + '[' + key + ']';let subPart = encodeURIComponent(params) + "=";result += subPart + encodeURIComponent(value[key]) + "&";}}} else {//拼接result += part + encodeURIComponent(value) + "&";}}}return result
}

params传参处理相关推荐

  1. ajax 与route的区别,浅析vue-router jquery和params传参(接收参数)$router $route的区别

    今天做项目时踩到了vue-router传参的坑(jquery和params),所以决定总结一下二者的区别. 1.jquery方式传参和接收参数 传参: this.$router.push({ path ...

  2. @query传参_vue-router中params传参和query传参的区别及处理方法

    在 Vue 实例内部,你可以通过 $router 访问路由实例.因此你可以调用 this.$router.push 想要导航到不同的 URL,则使用 router.push 方法.这个方法会向 his ...

  3. @query传参_前端框架vue中query和params传参

    注意(用params传参,F5强制刷新参数会被清空,用query,由于参数适用路径传参的所以F5强制刷新也不会被清空.(传参强烈建议适用string)) 也可以选用sessionstorage/loc ...

  4. vue动态路由传参---query传参和params传参

    当一个页面跳转到另一个页面时,组件结构相同,只是内容不同且地址栏后缀不同 ,这个地址栏的后缀就是参数,根据不同参数渲染不同的内容,这个跳转就叫路由传参. 当项目中组件间通过路由跳转,有时,我们需要传递 ...

  5. query和params传参区别

    query和params传参区别 传参可以使用params和query两种方式 params传参只能用name来引入路由 query传递显示参数(url那里),params传递不显示参数,参数在请求体 ...

  6. query和params传参的区别

    一.query和params传参的区别 1.query传递显示参数,params传递不显示参数,params相对于query来说较安全一点 取值方法也有不同 1.query取值:this.route. ...

  7. Vue Router不要再使用params传参了,params获取不到参数,官方删除params传参

    问题描述 之前说过,vue路由传参有两种方式,分别是query和params:query是明文,params是隐藏的: 今天在使用params的时候发现获取不到参数了 我的写法: 1. 路由配置: { ...

  8. vue使用params传参

    1.先定义,你需要传递几个参数就定义几个,如图: 2.传参: this.$router.push('地址'+参数); 3.在新页面获取传递过来的参数: 这里获取的时候,要注意,你在定义里面定义的什么, ...

  9. vue路由传参 params传参不能传对象

    不能传对象,传对象的时候,刷新完数据会丢失 传递的是一个对象 但是: 跳转以后,刷新页面,数据会丢失,所以说不能传对象,会有问题

最新文章

  1. 当同时安装Python2和Python3后,如何兼容并切换使用详解(比如pip使用)
  2. 云桌面 瘦终端_小米盒子连接Citrix云桌面
  3. 前端学习(558):margin重叠
  4. Embree:照片级光线追踪内核
  5. Memcached的Web管理工具MemAdmin(待实践)
  6. 【无广告】一位算法工程师从30+场秋招面试中总结出的超强面经——目标检测篇...
  7. html 自动关机程序,Windows 自动关机/定时关机 命令 shuntdown
  8. A1089. 阶乘计算
  9. IDEA用maven创建springMVC项目和配置(XML配置和Java配置)
  10. 度度熊的午饭时光[2017百度之星资格赛 1004]
  11. 数据结构 | 哈希表与哈希冲突的解决(一)
  12. win10设置计算机关机时间,教你windows10电脑怎么设置定时关机
  13. zblog怎么定位html代码,zblog模板修改常用调用标签代码
  14. html 防网页假死,htmlweb开发:防止浏览器假死的方法.doc
  15. 重要的xcel文件e报表丢了如何恢复呢
  16. Java基础学习笔记:补充内容1 计算机字符编码
  17. 强迫症的 LaTeX 学习笔记
  18. 海数所观点:618电商直播狂欢下 为何商家却频频亏损
  19. 阻碍NFT进一步发展的绊脚石都有哪些?从6个方面切入分析
  20. 深度学习笔记----三维卷积及其应用(3DCNN,PointNet,3D U-Net)

热门文章

  1. Dokuwiki安装手册
  2. soft thresholding and hard thresholding
  3. 「机器视觉」学习笔记 - Thresholding Techniques- 图像阈值
  4. python解析jmeter.jtl文件_jtl文件解析(jmeter+jenkins+python实现接口自动化)
  5. 你所遇到过得奇葩的需求
  6. 【VS开发】Windows上的音频采集技术
  7. IO学习之概念剖析及五种IO模型
  8. 调用摄像头---图片抓拍和视频录像
  9. Ch3.3 对数几率回归
  10. 编号100【入门1】顺序结构