关于拿到url问号后面的参数

1.
clipboard.png
我想拿到url问号的查询参数,但是好像取不到

2.
clipboard.png

是我哪里出问题了吗?各位

阅读 9.1k
6 个回答

前边带#了,search搜不到,这个属于hash

下边这个方法可以获取到

function getHashString(name) {
      var arr = (location.hash || "")
        .substr(location.hash.indexOf("?") + 1)
        .replace(/^\#/, "")
        .split("&");
      var params = {};
      for (var i = 0; i < arr.length; i++) {
        var data = arr[i].split("=");
        if (data.length == 2 && data[0] == name) {
          return data[1];
        }
      }
      return null;
    }

你路由是 hash 模式,应该用 location.hash 获取,你截图里已经有显示了
不过在 vue 中你完全不需要这么做,你只需要通过 this.$route.query 获取即可
https://router.vuejs.org/zh-c...

看一下请求参数模式?

你的url怎么是这样的?如果你要用hash应该是在后面加啊clipboard.png

 function getQueryString(name) {
        // var reg=/[?&]([^?&]+)=([^?&]+)/i;
        var reg = new RegExp("(^|\&\?)" + name + "=([^&]*)(&|$)", "i");
        // var r = window.location.href.substr(1).match(reg);
        var r = window.location.href.match(reg);
        if (r != null) {
            return unescape(r[2]);
        } else {
            return null;
        }

console.log(this.$route.query.token)

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