location.href的一个问题、、、

本文探讨了在HTML中使用JavaScript动态生成链接时遇到的问题:如何正确处理URL中的特殊字符,特别是当这些字符作为参数传递时的转义问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在做项目的过程中,碰到如下一个问题:

<html>
    <head>
        <title>Test</title>
        <script>
            function click(url){
                //alert(url);
                location.href=url;
            }
        </script>
    </head>
    <body>
            <a href="javascript:click('http://localhost:8080/configurator/dojo/apps/br/solution-configurator-v015.jsp?lang=en&p=r%26w ');">test</a>
    </body>
</html>

 

注意红色的参数p=r%26w 其真实的形式应该是: p=r&w, 我想让p=r%26w 在随后的地址栏中原样的显示出来、、、

也就是:

http://localhost:8080/configurator/dojo/apps/br/solution-configurator-v015.jsp?lang=en&p=r%26w

但是经过实践之后,还是被转换成了p=r&w:

http://localhost:8080/configurator/dojo/apps/br/solution-configurator-v015.jsp?lang=en&p=r&26w

 

如果我写成下面的形式:

 

<html>
    <head>
        <title>Test</title>
        <script>
            function click(){
                //alert(url);
                location.href="http://localhost:8080/configurator/dojo/apps/br/solution-configurator-v015.jsp?lang=en&p=r%26w";
            }
        </script>
    </head>
    <body>
            <a href="javascript:click();">test</a>
    </body>
</html>

 

这个时候就是满足我要求的、、、

 

但是由于在实际情况下,这个链接是动态生成的,没有办法在js里面写死、、、

 

继续找寻方法中、、、

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值