<1>
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %> <head runat="server"> <title>ajax请求</title> <link type="text/css" rel="stylesheet" href="/Content/style.css" /> <script type="text/javascript" src="/Scripts/jquery-1.8.3.min.js"></script> <script type="text/javascript" src="/Scripts/js.js"></script> </head> <body> <!--顶部+logo+导航--> <div class="logo_box"> <div id="logo"> <a title="ajax请求">ajax请求</a></div> </div> <!----> <div class="loginCon"> <div class="loginBanner"> <img src="/Images/4499633_182932517000_2.jpg" /></div> <div class="loginBox"> <h2> <span class="fl">会员登录</span><span class="newUser">没有账号?<a href='<%=Url.Action("Register","Account") %>'>立即注册</a></span></h2> <form id="formData"> <div class="loginForm"> <div class="inputBox"> <input type="text" name="user" value="用户名/手机号" class="userId" /> </div> <div class="inputBox"> <input type="text" value="密码" class="textStyle" /> <input type="password" name="pwd" class="passwordStyle none" /> </div> <div class="warn">用户名或密码错误!</div> <div class="remember"> <label> <input type="checkbox" name="remembered" checked /> 自动登录</label> <a class="forget" href='<%=Url.Action("ResetPwd","Login") %>' >忘记密码?</a> </div> <input class="loginBtn" type="button" value="登录"/> </div> </form> </div> </div> </body> <script type="text/javascript"> $(function () { $('.userId,.passwordStyle').on('keyup', function (e) { if (e.keyCode == 13) { $('.loginBtn').trigger('click'); } }); $('.loginBtn').on('click', function () { $(".warn").hide(); var pwd = $('.passwordStyle').val(); if (pwd == '') { $(".warn").show().html('请输入密码'); return false; } var data = $("#formData").serialize(); $.post("/login/checkLoginInfo", data, function (ajaxObj) { //回传内容{status: 1(success)/0(fail),} if (ajaxObj.status == 0 || status == null) { $(".warn").show().html('用户名或密码错误!'); } else { //登陆成功,跳转都制定页面 window.location = '/memberCenter/index'; } }, "json"); }); }); </script> </html>
<2>
控制器
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Text; namespace bigtree.Controllers { using bigtree.Models; using bigtree.Model; using bigtree.lib; using System.Net.Mail; using System.Text.RegularExpressions; public class LoginController : Controller { public ActionResult Index() { return View(); } /// <summary> /// 检查登陆 /// </summary> /// <param name="f"></param> /// <returns></returns> [HttpPost] public ActionResult CheckLoginInfo(FormCollection f) { try { //post: user , pwd ,remembered string user = f["user"].Trim(); string pwd = f["pwd"].Trim(); string remembered = f["remembered"].Trim(); JsonResult res = new JsonResult(); if (string.IsNullOrEmpty(user) || string.IsNullOrEmpty(pwd)) { res.Data = new { status = 0 }; } //MD5加密后的密码 pwd = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(pwd, "md5").ToLower(); //从数据库读取 Common.WebUser account = MemberInfoService.GetMemberIdForCheck(user, pwd); if (account == null) { res.Data = new { status = 0 }; } else { //{status: 1(success)/0(fail),} res.Data = new { status = 1 }; //todo:登陆成功,记录登陆用户信息保存登陆状态 FunSession.SetSession(account); //是否记住登录 if (remembered == "on") { HttpCookie cookie = new HttpCookie("LoginInfo", account.Id.ToString()); //3天有效 cookie.Expires.AddDays(3); Response.Cookies.Add(cookie); } else { HttpCookie cookie = new HttpCookie(account.Id.ToString(), account.Id.ToString()); //使失效 cookie.Expires.AddYears(-1); Response.Cookies.Add(cookie); } } return res; } catch (Exception ex) { throw ex.InnerException; } } } }
Ajax请求。数据的提交,参数的传递。FormCollection
原文:http://blog.csdn.net/fanbin168/article/details/41366291