.NET的Ajax请求数据提交实例_实用技巧

本文实例讲述了.NET的Ajax请求数据提交实现方法。分享给大家供大家参考。具体如下:

复制代码 代码如下:

<%@ 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>

控制器

复制代码 代码如下:

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; 
            } 
        } 
    } 
}

希望本文所述对大家的.NET程序设计有所帮助。

时间: 2024-08-19 20:58:32

.NET的Ajax请求数据提交实例_实用技巧的相关文章

asp.net+ajax的Post请求实例_实用技巧

本文实例讲述了asp.net+ajax的Post请求的实现方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: //一个ajax的Post请求       function submitInfo() {          $(".warn").hide(); //刚提交的时候隐藏错误的信息          var data = $("#formData").serialize(); //将表单的数据通过序列化表单值,创建 URL 编码文本字符串.形成一个表

.net采用ajax实现邮箱注册和地区选择实例_实用技巧

本文实例讲述了.net采用ajax实现邮箱注册和地区选择的方法.分享给大家供大家参考.具体实现方法如下: 首先要知道Ajax是 Asynchronous JavaScript and XML(以及 DHTML 等)的缩写. ajax就是在浏览器上同服务器实现异步交互.在XMLhttpRequest被广泛使用之前,用户停留在页面上没有办法实现局部更新的功能,只能通过刷新整个页面来获取最新的数据,而由此代码的代价是需要传输大量的数据,而且有可能临时的一些用户信息也会丢失,而ajax的使用实现了局部更

Asp.Net防止刷新重复提交数据的办法_实用技巧

在网上搜 一下,可以找到很多关于这方面的资料,其中有一篇是来自MSDN上的一种解决方法: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/BedrockASPNET.asp 它是通过重新定义 System.Web.UI.Page 类来实现加载页面时,是"刷新"."后退"请求,还是正常请求,其他的页面则继承了自定义的这 个Page类.感觉他这个方法比较独特,有例子

ASP.NET中Web API的简单实例_实用技巧

一.Web API的路由 1.在Visual Studio中新建MVC4项目,在App_Start目录下有一个WebApiConfig.cs文件,这个文件中就是相应的Web API的路由配置了. 2.Web API 框架默认是基于 Restful 架构模式的,与ASP.NET MVC 有区别的是,它会根据 Http 请求的 HttpMethod(Get.Post.Put.Delete)来在Controller 中查找 Action,规则是:Action 名中是否以Get.Post 开头?Acti

一步一步学asp.net Ajax登录设计实现解析_实用技巧

任务需求:做一个登录,拥有自动记住账号和密码的功能,要保证安全性,ajax,无刷新,良好的用户体验.(母板页) 这是前台页面,要求实现用户登录 首先我们分析, 用户需求: 1. 登录以后,登录框隐藏,并且欢迎登录的框显示,并且,左上角登录的按钮消失,安全退出显示. 2. 如果选择记住帐号和密码,下次登录直接登录,并且保证安全性. 实现过程: 首先,登录的时候发出ajax请求,用户验证登录,登录以后,保存当前用户名和密码到cookies中,注意,密码要用md5加密,md5是根据用户的机器配置生成的

Asp.net配合easyui实现返回json数据实例_实用技巧

本文实例讲述了Asp.net配合easyui实现返回json数据的实现方法.分享给大家供大家参考.具体如下: 最近想用asp.net配合easyui开发一个小框架,然后再用到easyui的combobox的时候出现了一个问题,总所周知,easyui的文档上给出的combobox的格式是 复制代码 代码如下: <input class="easyui-combobox"               name="language"              dat

ASP.NET MVC5+EF6+EasyUI 后台管理系统(81)-数据筛选(万能查询)实例_实用技巧

前言 听标题的名字似乎是一个非常牛X复杂的功能,但是实际上它确实是非常复杂的,我们本节将演示如何实现对数据,进行组合查询(数据筛选) 我们都知道Excel中是如何筛选数据的.就像下面一样 他是一个并的关系,我们现在要做的也是这样的效果,下面我们将利用EasyUI的DataGrid为例来扩展(就算是其他组件也是可以的,同样的实现方式!) 实现思路 1.前台通过查询组合json 2.后台通过反射拆解json 3.进行组合查询 虽然短短3点,够你写个3天天夜了 优点:需要从很多数据中得到精准的数据,通

ajax.net对数据库的插入实例_实用技巧

Default.aspx 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/

ASP.NET中的DataGridView绑定数据和选中行删除功能具体实例_实用技巧

首现我们拖入一个DataGridView控件到.aspx页面中,然后绑定你需要显示的列,具体代码如下. 复制代码 代码如下:  <asp:GridView ID="gvDepartList" runat="server" AutoGenerateColumns="False"          Height="108px" Width="600px"  OnRowDeleting="gvDe