就是写一个接口用于登录操作,这里可以直接是控制器添加一个登录验证的Action,ajax请求这个Action返回相关信息即可。
给个模版可以吗?我初学MVC和ajax
@Sola0921: 比如新建一个登录控制器 LoginController,然后添加一个登录验证的Action
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.Mvc; 6 using VaiHaoBlog.Models; 7 8 namespace VaiHaoBlog.Controllers 9 { 10 public class LoginController : Controller 11 { 12 #region 登录的入口 13 /// <summary> 14 /// 登录的入口 15 /// </summary> 16 /// <returns></returns> 17 public ActionResult Index() 18 { 19 if (Session["User"] != null) 20 { 21 return Redirect("/"); 22 } 23 else 24 { 25 return View(); 26 } 27 } 28 #endregion 29 30 #region 登陆的Action 31 /// <summary> 32 /// 登陆的Action 33 /// </summary> 34 /// <returns></returns> 35 public ActionResult Login() 36 { 37 string name = Request.Params["username"].ToString(); 38 string pwd = Request.Params["password"].ToString(); 39 string code = Request.Params["code"].ToString(); 40 Users models = new Users(); 41 Users user = new Users(); 42 user = models.GetUser(name); 43 Session["User"] = user; 44 if (user != null) 45 { 46 if (pwd == user.UserPass) 47 { 48 Session["User"] = user; 49 return Content("ok");; 50 } 51 else 52 { 53 return Content("error");; 54 } 55 } 56 else 57 { 58 return Content("error");; 59 } 60 } 61 #endregion 62 63 #region 退出系统登录 64 /// <summary> 65 /// 退出系统登录 66 /// </summary> 67 /// <returns></returns> 68 public ActionResult Logout() 69 { 70 Session["User"] = null; 71 return View("Index"); 72 } 73 #endregion 74 75 } 76 }
然后,在前端页面调用:
就是给登录按钮绑定一个点击事件,然后,在点击事件中使用ajax请求登录结果。
例如:
1 <script type="text/javascript"> 2 $().ready(function () { 3 $('#button-login').click(function () { 4 if ($('#username').val() == "" || $('#password').val() == "" || $('#code').val() == "") { 5 alert("用户名或密码不能为空!"); 6 } 7 else { 8 $.ajax({ 9 type: "POST", 10 url: "/Login/Login", 11 data: "username=" + $('#username').val() + "&password=" + $('#password').val()+ "&code=" + $('#code').val(), 12 success: function (msg) { 13 if (msg == "success") { 14 windows.location.href = "/index"; //如果登录成功则跳到XX界面 15 } 16 if (msg == "fail") { 17 alert("登录失败!"); 18 } 19 } 20 error: function () { 21 22 } 23 }); 24 } 25 }); 26 }); 27 </script>
@SeayXu: 非常感谢
看到要源码...把我吓跑了.
说实话.你用vs建个web项目模版里面就有登录注册的代码
我知道这样不太好,可是我写了很多方法,加上我是初学者总是出错,有的是输入正确用户名和密码能登录,输一个错的就出错,有的直接就没验证就登录了
$.post("/Login",{"name":"123","pwd":"123"},function(data,status){if(data=='1'){alert("登录成功");}})
public ActionResult Login()
{
string name=Request["name"].toString();
string pwd=Request["pwd"].toString();
...
验证
....
if(成功) return Content("1");
else return Content("0");
}