Vue URL哈希模式下参数拼接在#前面问题
问题发现是在做授权时给后端一个回调地址,当回来就发现参数拼在#前面导致取不到query值。使用 earchParams.get() 取值如果没有该参数 返回值为 null。使用new URL()后得到以下信息对地址重新拼接后改变url。别使用哈希模式,改为历史模式,接下来的事交给后端解决吧。这条博客是有关this.$route.query取不到值...
·
问题发现是在做微信授权时返回的回调地址,当回来就发现code拼在#前面导致取不到
解决方法1:
使用new URL()后得到以下信息对地址重新拼接后改变url
例子:
let url = "http://127.0.0.1:5555/test.html/?type=woman#/";
let b = new URL(url);
this.location = b.origin + b.pathname + b.hash + b.search;
解决方法2:
使用 earchParams.get() 取值 如果没有该参数 返回值为 null
例子:
let url = "http://127.0.0.1:5555/test.html/?type=woman#/";
let b = new URL(url).searchParams.get('type');
URLSearchParams.keys() - Web API 接口参考 | MDN
解决方法3:
别使用哈希模式,改为历史模式,接下来的事交给后端解决吧
更多推荐
已为社区贡献2条内容
所有评论(0)