使用 XMLHttpRequest 处理参数中的特殊字符

handling special characters in parameters with XMLHttpRequest

尝试使用 xmlHttpRequest 从前端 (javascript) 发送密码 POST 和其他名称如

的参数
"&password=" document.getElementById('password').value 

我正在使用 HttpServletRequest.getparameter 来获取密码的参数字符串,例如 string pswd = request.getparameter("password");

该代码适用于所有具有特殊字符的密码,但 qwe100%qwe、qwe198%qwe 等密码除外 当我传递这些密码时,如果我要读取用户名或与密码一起发送的其他参数也会导致异常[illegalArgumentException] 感谢任何帮助..

您需要在Java脚本端使用encodeURIComponent,然后再将其传递到后端。

即:

var pass = encodeURIComponent(document.getElementById('password').value);

请注意,在 Java 端,您应该执行以下操作:

URLDecoder.decode(request.getParameter("password"));

编辑

正如@BalusC 指出的那样,我在 Java 方面是错误的 - 您已经完成了 Java 脚本方面需要的工作,因此您不需要 Java部分。