网站用户异步登录时出现特殊符号丢失
2015-11-23 16:08
579 查看
做网站的一个异步登录时用的 $.post();方法时
当密码存在#&+等特殊符号时会出现数据丢失
例如 123#445 后台接受到的数据变为123 ,123+++ 后台接受的数据为123
js代码
1:原来出现错误的写法
var logining = #{jsAction @URL(':name', ':passwordtc', ':code', ':randomID')/}
$.post(logining({name:encodeURI(nametc),passwordtc:encodeURI(passwordtc),code:encodeURI($("#cod etc").val()),randomID:encodeURI($("#randomIDtc").val())}),function(data){
if("" != data){
layer.alert(data, {icon: 6});;
return;
}
$("#login_box").hide();
location.reload(true);
});
后面在网上的相关资料 得到两个方法
方案一
$.ajax({
url:"url",
type:"POST",
data:{
"name":encodeURI(nametc),
"passwordtc":encodeURI(passwordtc),
"code":encodeURI($("#codetc").val()),
"randomID":encodeURI($("#randomIDtc").val())
},
success : function(data) {
if("" != data){
layer.alert(data, {icon: 6});;
return;
}
$("#login_box").hide();
location.reload(true);
},
error : function() {
layer.alert('对不起,出现错误', {icon: 6});
}
});
将提交数据 以json的数据形式提交 就不会出现问题
方案二
[javascript]
var post_Str = apply_name.replace(/\+/g, "%2B");//"+"转义
var post_Str= post_Str.replace(/\&/g, "%26");//"&"
var post_Str= post_Str.replace(/\#/g, "%23");//"#"
将数据中的特殊符号进行转译
后台 接收后再转译回来
当密码存在#&+等特殊符号时会出现数据丢失
例如 123#445 后台接受到的数据变为123 ,123+++ 后台接受的数据为123
js代码
1:原来出现错误的写法
var logining = #{jsAction @URL(':name', ':passwordtc', ':code', ':randomID')/}
$.post(logining({name:encodeURI(nametc),passwordtc:encodeURI(passwordtc),code:encodeURI($("#cod etc").val()),randomID:encodeURI($("#randomIDtc").val())}),function(data){
if("" != data){
layer.alert(data, {icon: 6});;
return;
}
$("#login_box").hide();
location.reload(true);
});
后面在网上的相关资料 得到两个方法
方案一
$.ajax({
url:"url",
type:"POST",
data:{
"name":encodeURI(nametc),
"passwordtc":encodeURI(passwordtc),
"code":encodeURI($("#codetc").val()),
"randomID":encodeURI($("#randomIDtc").val())
},
success : function(data) {
if("" != data){
layer.alert(data, {icon: 6});;
return;
}
$("#login_box").hide();
location.reload(true);
},
error : function() {
layer.alert('对不起,出现错误', {icon: 6});
}
});
将提交数据 以json的数据形式提交 就不会出现问题
方案二
[javascript]
var post_Str = apply_name.replace(/\+/g, "%2B");//"+"转义
var post_Str= post_Str.replace(/\&/g, "%26");//"&"
var post_Str= post_Str.replace(/\#/g, "%23");//"#"
将数据中的特殊符号进行转译
后台 接收后再转译回来
相关文章推荐
- 两种方式登录FTP
- MySql实现简单的注册登录(易语言)
- ruby实现的一个异步文件下载HttpServer实例
- C#异步绑定数据实现方法
- 科学知识:同步、异步、阻塞和非阻塞区别
- 探讨Ajax中同步与异步之间的区别
- C#中异步回调函数用法实例
- Oracle中插入特殊字符:&和'的解决方法汇总
- C#实现异步GET的方法
- phpmyadmin 3.4 空密码登录的实现方法
- WinForm中的登录实现
- C#异步执行任务的方法
- C#实现的三种模拟自动登录和提交POST信息的方法
- QQ登录背景闪动效果附效果演示源码下载
- 深入理解JavaScript编程中的同步与异步机制
- 用C语言判断字符是否为空白字符或特殊字符的方法
- js传参数受特殊字符影响错误的解决方法
- 不要在cookie中使用特殊字符的原因分析
- Jquery异步提交表单代码分享
- JQuery异步获取返回值中文乱码的解决方法