派大星爱吃小鱼干

vue.js中解决获取地址栏上的url参数乱码的bug

2019-03-19  本文已影响35人  程序猿阿峰

一个很常见的问题,百度找了好久,结合各种博客,才解决这个问题


1. 在methods中定义下面这个函数

// name 是你要获取的那个参数的字段 比如 code=我是谁 name 就是 code
getQueryString (name) {
    var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i')
    var r = window.location.search.substr(1).match(reg)
    if (r !== null) return r[2]
    return null
}

2. 我这里是在mounted ()钩子函数中直接调用

alert(this.getQueryString('state'))

用上面的代码,我想获取地址栏上的state参数,下图红框部分


image.png

可惜返回的是下图


image.png

百度找了好久,后来发现,加上decodeURIComponent()就可以了

alert(decodeURIComponent(this.getQueryString('state')))

终于拿到我想要的了,开心。


image.png

记录于 2019-3-19 19:09 加班的路途中,偷个懒,记录下。

上一篇 下一篇

猜你喜欢

热点阅读