我有一个非常愚蠢的问题,其中javascript将每个'/'替换为url中的'%2F'。这就是我现在所拥有的:
var url;
url = $(this).val();
url = str.replace('%2F', '/');
window.location.href = $(this).val();
我在这里做错了什么?
答案 0 :(得分:0)
您需要解码网址,将特殊字符转换回原来的状态(例如将%2F
更改回/
)。为此,您可以使用decodeURI
:
url = $(this).val();
url = decodeURI(url);
但是,有时候空格会被+
替换为%20
。因此,要处理这些情况,您必须在解码网址之前将所有+
替换为%20
。
url = $(this).val();
url = url.replace('+', '%20');
url = decodeURI(url);
现在url
是网址的解码版本。