我正在尝试编写一个jQuery函数,以便我可以切换到另一个页面,该页面上有相同的东西但是使用不同的语言。下面的代码用于实际更改页面,但正如您在下面的图片中看到的那样,当我运行它时,URL字符串的前面会添加一个“%3”。关于这是为什么的任何想法?
$(langchooser).change(function() {
var new_lang = $(langchooser).val();
changeLanguage(new_lang);
var x = location.host;
var y = "/";
var z = x.concat(y, new_lang);
console.log(z);
window.open(z, "_self");
});
答案 0 :(得分:5)
%31
被编码为1
十六进制转义符。
真正的问题是您的网址从一开始就缺少http://
; Chrome在其错误记录中只有一个错误,即错误地对第一个字符进行URL转义。
也许你应该做
var l = window.location,
url = l.protocol + '//' + l.host + '/' + new_lang;
window.open(url, '_self');