我尝试将网址编码为url参数。 现在看起来似乎是jquery param的直接使用证明了我在进行时更加困惑。
这是我正在尝试的
var toEncode = {
'email': 'something@something.com',
'name': 'something'
}
var newUrl = "http://www.example.com?" + $.param(toEncode);
window.location.href = newUrl;
我已经看到newUrl被正确编码但是一旦传递到地址栏,@符号是%2540而不是%40。沿着这条线的某个地方,%40的百分比再次被编码,我似乎无法计算出来。
希望这个兔子洞的尽头有光。
编辑 - 更多信息
网址是拉到新地址的,电子邮件地址放在一个文本框中,显示为%40something.com
-------- --------解 经过大量的讨论,我找到了导致问题的原因,modperl正在重写后端的url,因为禁用url重写的标志没有被禁用。 这导致编码发生两次,因此导致%2540
答案 0 :(得分:1)
www.something.com
是一个相对路径,您需要确保它包含协议:
newUrl = 'http://www.something.com?' + ...