Javascript转换';到URL语言

Javascript转换';到URL语言,javascript,Javascript,我有一个非常简单的JavaScript函数,在其中一个变量中有一个'。这就是我所尝试的: function search(champ1,champ2,role) { if((champ1!='')&&(champ2!='')){ if((champ1!=champ2)) { var champ1_name = encodeURI(champ1); var champ2_name = encodeURI(champ2

我有一个非常简单的JavaScript函数,在其中一个变量中有一个'。这就是我所尝试的:

    function search(champ1,champ2,role) {

    if((champ1!='')&&(champ2!='')){
        if((champ1!=champ2)) {
        var champ1_name = encodeURI(champ1);
        var champ2_name = encodeURI(champ2);
        var role_name = encodeURI(role);

        window.location.href="http://myurl.com/"+role_name+"/"+champ1_name+"&"+champ2_name;
        return false;
        } else if(champ1==champ2) {
            window.location.href="http://myurl.com/"+role;
        }
    }
}

但不幸的是,当我运行此脚本时,URL中仍然包含“即使在它们运行了
encodeURI()

之后,如果需要转义
,请执行类似
.replace(“,“%27”)
的操作。或者使用URL转义函数,该函数允许您提供需要转义的字符串


decodeURIComponent(“%27”)
转换回
“”

总是喜欢
encodeURIComponent
而不是
encodeURI
@MattBall我也试过了,但看起来它实际上什么都没做。比方说,当函数运行并且
champ1=它是
时,当我执行var
champ1\u name=encodeURIComponent(champ1)
然后在url中使用
champ1\u name
时,不会对任何内容进行编码,并且在URL@user1895377那么,如果像
champ1=它是
,您想执行
else
部分吗?