我有这个网址:www.foo.com?redirect=https://bar.com?a=b&b=c&c=d
。
当我收到查询参数redirect
时,我应该得到值https://bar.com?a=b&b=c&c=d
。但我只获得第一个查询参数https://bar.com?a=b
。
我正在做:
const { target } = this.$route.query;
console.log(target);
// "https://bar.com?a=b" instead of "https://bar.com?a=b&b=c&c=d"
答案 0 :(得分:0)
将网址www.foo.com?redirect=https://bar.com?a=b&b=c&c=d
解析为
redirect: https://bar.com?a=b
b: c
c: d
您需要使用以下内容对值进行编码: JS中的encodeURIComponent
。根据您的服务器语言,您应该使用相应的方法对参数/
encodeURIComponent('https://bar.com?a=b&b=c&c=d')
=> "https%3A%2F%2Fbar.com%3Fa%3Db%26b%3Dc%26c%3Dd"