Vue Router - 具有多个查询参数的URL作为重定向网址

时间:2018-02-28 08:33:23

标签: vue.js vue-router

我有这个网址: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"

1 个答案:

答案 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"