MVC初学笔记(2):前台使用Ajax调用后台方法

来源:互联网 发布:数字油画 知乎 编辑:程序博客网 时间:2024/06/11 08:16

在用户修改密码时,需要输入正确的原密码,由于之前密码时经过加密的,因此要在前台调用后台加密的方法进行加密之后再与数据库中的密码进行比对,使用Ajax。先记录一下加密的方法和原理:

给数据库中的密码加密其实非常简单,方法中一句话搞定:

        public string encryptPwd(string pwd)        {                        return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(pwd, "MD5");        }

MD5加密是单向的,也就是说,如果你的密码是“1”,给加密之后变成“C4CA4238A0B923820DCC509A6F75849B”,但是没办法将这一串字符串给解密成“1”的。在保存密码至数据库之前,使用该方法加密再保存。在需要输入密码然后判断密码是否正确的时候,再次把输入密码加密,然后与数据库中保存的密码进行比对就可以了。

 

这里是在输入原密码,密码框失去焦点之后,立刻进行加密,然后将加密后的数据放到一个隐藏控件上,最后点击确定提交时,与数据库中的密码进行比对

   $("#OPwd").blur(    function () {        var pass = $('#OPwd').val();//获取输入的密码                var inputPwd = "@Model.Data.Password"; //获取数据库中的密码(经过加密的)       
$.ajax({            type: "Post",            url: "/User/encryptPwd",//调用UserController中的encryptPwd方法            data: { "pwd": pass },//传过去的参数(即需要加密的密码)            success: function (getpwd) {                //若调用成功则返回已经经过加密的密码                var p = getpwd;                document.getElementById("hidcp").value = p;//赋值给隐藏控件            },            error: function (err) {                alert("密码加密出错");            }        });    })

 

这样在本地运行是OK的,但是在发布至测试服上后,老是报404的错误。后来把ajax中的url改为 url:"@Url.Content("~/User/encryptPwd")"就好了。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 格力中央空调fp怎么办 验车过期一年怎么办 北京验车过期怎么办 车子年检远光灯不过怎么办 重庆etc坏了怎么办 重庆怎么办etc高速卡 手机相册占内存怎么办 华为nova3声音小怎么办 深圳怎么办停车月卡 辐射避难所死爪来了怎么办 大都会出站没刷怎么办 metro大都会进站没刷到怎么办 大连玉石被骗了怎么办 大连君悦会员怎么办 学生卡丢了怎么办 买保险想退保怎么办 交房通知单丢失怎么办 全款买期房烂尾怎么办 期房如果烂尾怎么办 开发商推迟交房怎么办 永外还有平房怎么办 房子办不了贷款怎么办 公司网限速了怎么办 浩华北郡以后怎么办 被网上酒托骗了怎么办 股票破产了钱怎么办 被新湖期货骗了怎么办 山姆会员超市会员卡怎么办 贸易公司没有进项发票怎么办 邮政快递少件怎么办 圆通快递少件怎么办 洗衣服时染上颜色怎么办 洗衣服染上别的颜色怎么办 洗衣服染上其他颜色怎么办 做棉花糖粘锅了怎么办 同事借钱不想借怎么办 同事向你借钱怎么办 老板跑路员工工资怎么办 人丹吃了一包怎么办 体重秤出现负数怎么办 室内做立面不会材料怎么办