可以't发送包含特殊字符的密码(用空格代替)
Can't send password containing special characters(replaced with space)
我需要发送包含特殊字符的密码。例如:包含abc+的密码最终在服务器端变成abc(空格),这是错误的,破坏了前面的大象。服务器是无罪的,因为我已经检查了网络,angular确实用空格而不是"abc+"发送到服务器"abc"。所以问题出在客户端代码上。
login: function (param) {
var data,
config = {
headers: {
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
},
ignoreAuthModule: 'ignoreAuthModule'
};
data = 'j_username=' + param.username + '&j_password=' + param.password + '&_spring_security_remember_me=' + param.rememberMe + '&submit=Login';
if (!angular.isUndefined(param.service)) {
data += '&service=' + param.service;
}
$http.post('app/authentication', data, config).success(
function (data, status, headers, config) {
$rootScope.registrationSuccess = false;
$rootScope.authenticationError = false;
$rootScope.userLocked = false;
if (param.success) {
param.success(data, status, headers, config);
}
}
) ...
当我调试代码j_password时,它实际上有"abc+"。我想有些配置是错误的。请帮助可怜的java开发人员。
您应该使用encodeURIComponent对参数进行编码。例如,
data = 'j_username=' + encodeURIComponent(param.username) + '&j_password=' + encodeURIComponentparam.password) + '&_spring_security_remember_me=' + encodeURIComponent(param.rememberMe) + '&submit=Login';
相关文章:
- 我如何找到一个句子中的所有空格并替换忽略它们
- Regex代码只允许一个空格
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 如何使用密码检测网络中的状态连接
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 用空格替换下划线PHP
- Meteor忘记了密码的实现
- 使用密码对话框Javascript请求帮助
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- Internet Explorer缺少占位符支持,特别是密码字段
- angular js密码强度显示问题
- 当没有文本输入聚焦时检测空格键按下
- 一个密码测试程序,如果存在空格,它会提醒用户
- 在谷歌应用程序脚本中转换为空格的制表符
- 如何将字符串拆分为字符,但在javascript中保留空格
- 密码输入键脚本在首次使用后无法工作
- Jquery:如何获取所选选项全文(带空格)
- Javascript 禁用更改密码文本框的空格键
- 可以't发送包含特殊字符的密码(用空格代替)
- 在提交表单之前删除密码中的所有空格