我使用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();
用
var url = "/test/ChangePwdAjax.do?newPass="+ encodeURIComponent(valuePassword);
这会将您编码valuePassword为有效的URL组件,该组件可以作为URL中的查询字符串传递
valuePassword
另一方面,您应该用来decodeURIComponent从编码字符串中获取值
decodeURIComponent
var value = decodeURIComponent(valuePasswordPassed);
要了解更多有关此的信息,请点击此处