地址栏url处理

作为一个前端,组件之间的传值是必不可少的,当然有好多种方式,这分享一种通过url路径通过传参的方式来进行组件之间的传值

例如:https://www.baidu.com/s?wd=博客园&code='1'

这个例子中wd和code作为参数来携带值去跳转里一个页面,而在另一个页面去获取就可以了。当然一般的地址中携带参数是需要编码处理过的,当然在咱们获取值得时候是需要解码的。

这种编码方式有两种吧。我知道的有两种:

encodeURIComponent(url) 和 decodeURI(url)
解码:
decodeURIComponent(url)和 encodeURL(url)

  如何来过去参数呢,这里提供一种方法

const queryParam = (key) => {
    let reg = new RegExp('(^|&)' + key + '=([^&]*)(&|$)')
    let result = window.location.search.substr(1).match(reg)
    return result ? decodeURIComponent(result[2]) : null
}
key值是url上的参数,例如上面那个例子中如果获取wd的值那么key值为wd。
queryParam(wd)

  

个人感觉地址传值是一种非常实用的方法,当然如果涉及到token那么最好别用这种方法。

猜你喜欢

转载自www.cnblogs.com/yh6652210/p/12795250.html