企业开发ajax登录,ajax方式登录

写在前面

今天回来的比较早,就趁着有空,把登录的代码更新一下。上篇文章实现了ajax的注册,这篇将实现登录,实现目标,ajax登录方式,如果勾选记住我,则下次不再输入用户名密码,直接跳转到网盘界面。

代码@{

Layout = null;

}

登录

$(function () {

//多选框

$("#chkRemember").click(function () {

if (!$(this).attr("checked")) {

$(this).attr("checked", 'checked');

} else {

$(this).removeAttr("checked");

};

});

//为登录按钮注册单击事件

$('#btnLogin').click(function () {

$.ajax({

type: "post",

url: "/UserInfo/Login",

data: { userName: $("#txtUserName").val(), pwd: $("#txtPwd").val(), remember: $("#chkRemember").attr('checked') },

dataType: "json",

success: function (data) {

console.log(data);

data = JSON.parse(data);

if (data.code == 200) {

} else {

$("#loginMsg").html(""+data.msg+"");

};

}, error: function (msg) {

alert(data);

}

});

});

});

目前还是使用session来保持状态,使用在action上加特性的方式,留待以后优化。[HttpGet]

public ActionResult Login()

{

UserInfo userInfo = null;

if (Request.Cookies["n"] != null && Request.Cookies["p"] != null)

{

string userName = Request.Cookies["n"].Value;

string pwd = Request.Cookies["p"].Value;

userInfo = _userInfoServiceRepository.Find(x => x.UserName == userName && x.Pwd == pwd);

if (userInfo!=null)

{

if (Session["user"] == null)

{

Session["user"] = userInfo;

}

//更新最后一次登录时间

userInfo.LoginDt = DateTime.Now;

_userInfoServiceRepository.Update(userInfo);

_userInfoServiceRepository.SaveChanges();

}

}

return View();

}

///

/// 登录

///

///

///

///

[HttpPost]

public JsonResult Login(string userName, string pwd, string remember)

{

if (!_userInfoServiceRepository.Exist(userName))

{

return new JsonResult() { Data = "{\"code\":500,\"msg\":\"用户名不存在\"}" };

}

if (!string.IsNullOrEmpty(pwd))

{

pwd = MD5Helper.GetMD5FromString(pwd);

}

else

{

return new JsonResult() { Data = "{\"code\":500,\"msg\":\"密码不能为空\"}" };

}

UserInfo userInfo = _userInfoServiceRepository.Find(x => x.UserName == userName && x.Pwd == pwd);

if (userInfo == null)

{

return new JsonResult() { Data = "{\"code\":500,\"msg\":\"用户名和密码不匹配\"}" };

}

if (!string.IsNullOrEmpty(remember) && remember.Equals("checked"))

{

HttpCookie nameCookie = new HttpCookie("n", userName);

nameCookie.Expires = DateTime.Now.AddDays(7);

//将md5串写入cookie,或者再次进行AES加密写入

HttpCookie pwdCookie = new HttpCookie("p", pwd);

pwdCookie.Expires = DateTime.Now.AddDays(7);

Response.Cookies.Add(nameCookie);

Response.Cookies.Add(pwdCookie);

}

//登录成功写入session

Session["user"] = userInfo;

//更新登录状态

userInfo.LoginDt = DateTime.Now;

_userInfoServiceRepository.Update(userInfo);

_userInfoServiceRepository.SaveChanges();

return new JsonResult() { Data = "{\"code\":200,\"msg\":\"登录成功\"}" };

}

测试

329bb75807f1128078f39c01df3c5525.png

ff32add3c7ae1ee15ba4a4649b30b12a.png

登录成功后,跳转到FileList页面。

总结

关于ajax方式登录的内容就到这里。下面将进入网盘的主页。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值