js获取url里的token

我的url路径是本地的:
http://xx.xx.xx.xx:8080/#/activate?token=eyJhbGciOiJIxxx

怎样获取url里的token呢?

请问有哪些方法呢?
用正则表达式吗?
还是通过参数名获取url中的token参数值?

阅读 9.9k
4 个回答

URL:

var str = 'http://xx.xx.xx.xx:8080/#/activate?token=eyJhbGciOiJIxxx'
var url = new URL(str.replace('#/', ''))
console.log(url.searchParams.get('token'))

正则:

var str = 'http://xx.xx.xx.xx:8080/#/activate?token=eyJhbGciOiJIxxx'
console.log(/token=([^=&]*)/.exec(str)[1])

有个最简单的方法是:this.token = this.$route.query.token;

写一个函数:

function GetQueryString(name){
    var reg = new RegExp("(^|&)"+ name +"=(\[^&\]\*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if(r!=null)return unescape(r\[2\]); return null;
}

然后调用它:
GetQueryString("token")

不过建议token放到header中去传。

一般来说这种单页面有路由的情况下,可以找对应框架的自带的方法

image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题