小编典典

在url的请求参数中传递“#”哈希符号在Firefox中不起作用

ajax

我使用AJAX进行了struts操作,一切都很好,但是Firefox出现了问题,当我将URL中的参数作为请求参数传递给该参数,并且如果该参数最后包含hash(#)符号,则firefox将剥离所有内容在该符号之后,将该参数发送给没有该参数的操作。

例如,如果我在Firefox中通过了test123#abcd,那么我在操作类中仅获得test123,而不是test123#abcd,这对我的要求不理想。对于IE来说,它运行良好。有什么方法可以提取完整的参数,包括Firefox中的#符号。

请让我知道是否也需要发布Java操作代码。

JS片段

var valuePassword=test123#abcd;

    var url = "/test/ChangePwdAjax.do?newPass="+valuePassword;
            var xmlHTTP = getXMLHTTPRequest();

阅读 262

收藏
2020-07-26

共1个答案

小编典典

var url = "/test/ChangePwdAjax.do?newPass="+ encodeURIComponent(valuePassword);

这会将您编码valuePassword为有效的URL组件,该组件可以作为URL中的查询字符串传递

另一方面,您应该用来decodeURIComponent从编码字符串中获取值

var value = decodeURIComponent(valuePasswordPassed);

要了解更多有关此的信息,请点击此处

2020-07-26