jQuery使用ajax方法提交登陆信息时,遇到特殊字符&
2015-05-04 19:40
585 查看
当我在做登陆页面的时候,常常会用到ajax方法来检测用户信息所填写的内容是否符合规范要求。一开始,为了简单明了,快速实现功能,在使用jQuery时,是这样写的:
用的时候基本没有什么问题,data的数据是通过对应字段的ID获得的值,再通过ajax传递给后台,PHP处理后,返回结果。
但是这里忽略了一个特殊字符&.
如果用户传过来的password或者其他字段中带有&的话,它会将字符串切割成两个部分。比如说password=abc&123,当后台想要接收password.
前台页面上的值在传递给$.ajax()方法传递时,它会自动将其转义。
所以解决方案可以是这样子:
用json格式传递就可以了。
$.ajax({ url : "{:U('public/checklogin')}", cache : false, type : 'POST', dataType : 'json', data : 'username='+$('#username').val()+'&password='+$('#password').val()+'&verify='+$('#code').val(), success : function(e){ if ( e.status == 0 ){ verif_error(e.info); }else{ alert('检测通过!'); } } });
用的时候基本没有什么问题,data的数据是通过对应字段的ID获得的值,再通过ajax传递给后台,PHP处理后,返回结果。
但是这里忽略了一个特殊字符&.
如果用户传过来的password或者其他字段中带有&的话,它会将字符串切割成两个部分。比如说password=abc&123,当后台想要接收password.
echo $_POST['password']; //结果输出的只有abc
前台页面上的值在传递给$.ajax()方法传递时,它会自动将其转义。
所以解决方案可以是这样子:
var datas = { 'username':$('#username').val(),'password':$('#password').val(),'verify':$('#code').val()}; $.ajax({ url : "{:U('public/checklogin')}", cache : false, type : 'POST', dataType : 'json', data : datas, success : function(e){ if ( e.status == 0 ){ verif_error(e.info); }else{ alert('检测通过!'); } } });
用json格式传递就可以了。
相关文章推荐
- jQuery 使用ajax提交遇到兼容性问题及解决方法
- 使用jquery.form.js的ajaxsubmit方法提交时参数file标签有值报JS错误
- 使用jquery.form.js的ajaxsubmit方法提交数据的Bug
- ajax提交时data尽量不要用&组装字符串的形式,特殊字符会出错
- Asp中使用JQuery的AJAX提交中文乱码解决方法
- JQuery中使用ajax提交表单遇到的问题
- 当 jquery 发送 ajax 请求的时候遇到服务端session过期超时返回 302 跳转登陆页面的时候怎么办的处理方法
- jquery 使用$.ajax post方法提交数据
- 'Invalid parameter not satisfying: URLString'网络请求的时候get使用特殊字符和汉字崩溃的恶心bug解决方法
- js replace 全局替换 以表单的方式提交参数 判断是否为ie浏览器 将jquery.qqFace.js表情转换成微信的字符码 手机端省市区联动 新字体引用本地运行可以获得,放到服务器上报404 C#提取html中的汉字 MVC几种找不到资源的解决方式 使用Windows服务定时去执行一个方法的三种方式
- Asp中使用JQuery的AJAX提交中文乱码解决方法
- Jquery的validate,清除form方法,显示密插件,正则特殊字符处理,js的call用法,ajax,h5支持情况,elclipse tomcate去掉项目名,js 的原型
- jquery.form.js实现将form提交转为ajax方式提交的使用方法
- 表单包含file上传文件提交,使用ajaxSubmint或者ajaxForm 遇到的问题以及解决方法
- jQuery基于ajax()使用serialize()提交form数据的方法
- jQuery基于ajax()使用serialize()提交form数据的方法
- jquery 重写 ajax提交并判断权限后 使用load方法报错解决方法
- jquery 重写 ajax提交并判断权限后 使用load方法报错解决方法
- jquery实现ajax提交表单信息的简单方法(推荐)
- jQuery 实现ajax传入参数含有特殊字符的方法总结