.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程序设计有所帮助。

(0)

相关推荐

  • 按钮的Ajax请求时一次点击两次提交的解决方法

    页面中的按钮的type是submit的: <input type="submit" value="Create" id="submit" /> ajax的请求,在JQuery中是: $(function () { $('#submit').click(function () { var createGenreForm = $('#createGenreForm'); if (createGenreForm.valid()) { var

  • JS Ajax请求如何防止重复提交

    好长时间没写js代码了刚好遇到这样的问题.我们系统多数表单没有做防止重复提交的. 由于不想在后端这边处理,因为假如由后端处理的话,就需要在页面加载的时候给出一次性的token值,加大了开发的工作量不说,还容易忘记做这个,同时,ajax也不好处理,需要提交失败的话同时返回新的token值. 所以我想在,js这边动手.其实以前和前端提过,久久不见动静,就只好弄块砖丢出去了.思路是,覆盖掉$.ajax,在这里面处理掉防止重复提交的问题,而前端的业务开发不受影响,不改代码,无感知. 我想架构的目的之一,

  • AJAX避免用户重复提交请求实现方案

    在使用AJAX(jQuery)异步请求数据时,为了避免因某些原因用户同时多次点击按钮,提交重复的请求,我们需要禁用请求提交按钮. 重点:jQuery的 attr 和 removeAttr 两个函数,主要是元素button的disabled属性. Demo: 复制代码 代码如下: <body> <a class="disabled">Button disabeld</a>    <a class="abled">Butt

  • Ajax异步(请求)提交类 支持跨域

    复制代码 代码如下: /**//* 异步请求类 作者:吾非无心 创建时间:2009.2 --------------------------------------------------------------------------------------------------------------------------------- 修改记录: 2009.4.27--添加 URL 检测功能,如果是"http://xxxx.xxx.xx.xx/.."这样的格式,使用系统提供的

  • .NET的Ajax请求数据提交实例

    本文实例讲述了.NET的Ajax请求数据提交实现方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>    <head runat="server">      <title>ajax请求</title>      <link type

  • MUi框架ajax请求WebService接口实例

    实例如下所示: mui.init(); mui.plusReady(function() { document.getElementById('login').addEventListener('tap',function() { var UserName=document.getElementById("account").value; var Userpassword= hex_md5(document .getElementById("password").v

  • 利用JQUERY实现多个AJAX请求等待的实例

    前言通常,jQuery的函数ajax进行Ajax调用.函数ajax只能做一个Ajax调用.当Ajax调用成功时,执行回调函数.可选地,当Ajax调用返回错误时,调用另一个回调函数. 但是,该功能不能根据这些请求的结果进行多个Ajax请求和注册回调函数. 一种情况是,网页使多个Ajax请求在禁用用户交互时收集页面不同部分的数据. 该页面仅在页面获取所有数据之后才能进行用户交互.本文介绍了jQuery提供的一种基于多个Ajax请求来注册回调函数的方法. 这种方法是基于Deferred对象的概念.相关

  • AJAX请求数据及实现跨域的三种方法详解

    目录 传统方法的缺点: 什么是ajax? XMLHttpRequest 对象 五步使用法: 同步和异步的区别: 如何将原生ajax进行封装 JS几种跨域方法和原理 附:ajax跨域post请求的java代理实现 总结 传统方法的缺点: 传统的web交互是用户触发一个http请求服务器,然后服务器收到之后,在做出响应到用户,并且返回一个新的页面,每当服务器处理客户端提交的请求时,客户都只能空闲等待,并且哪怕只是一次很小的交互.只需从服务器端得到很简单的一个数据,都要返回一个完整的HTML页,而用户

  • javaweb中ajax请求后台servlet(实例)

    废话不多说,直接上代码 public class DZFP_jdbc extends HttpServlet{ private static final long serialVersionUID = 1L; public static Connection conn; public static ResultSet rs = null ; public static PreparedStatement ps = null ; private static String url = "jdbc:

  • vuejs前后端数据交互之从后端请求数据的实例

    本文将向大家介绍一种用vue-resource从后端请求数据的方法. 比如说从后端请求一张表过来, (1)首先,在data中return一个msg:[]数组来接收表的数据: (2)在方法中定义一个请求函数,比如我们这里函数名定义为showDetails: methods:{ showDetails:function(){ this.$http.get(baseURL+"api/条件").then(function(res){ this.msg = res.body; }); } } 这

  • 浅谈Vue.js应用的四种AJAX请求数据模式

    如果您闲的没事干去两个Vue.js开发人员:"在Vue应用中使用AJAX的正确姿势是咋样的?",您将会得到三种或更多的不同回答. Vue.js官方没有提供实现AJAX的指定方式,并且有许多不同的设计模式可以被有效地使用.每个都有自己的利弊,应根据要求进行判断.你甚至可以同时使用几个! 在本文中,我将向您展示您可以在Vue应用程序中实现AJAX的四个位置: 1.根实例 2.组件Components 3.Vuex actions 4.路线导航卫士 5.另加:奖金模式 我将解释每个方法,举一

  • jquery ajax 请求小技巧实例分析

    本文实例讲述了jquery ajax 请求小技巧.分享给大家供大家参考,具体如下: jquery   是一个非常好用的js框架,它为我们提供了很多工具.启动异步请求就是很好用的一个工具 官方推荐的ajax 请求格式 $.ajax({ url:"http://xxxxxxxxxxxxxxxxx/",//你的域名 dataType:"json", //对服务器返回的结果进行该数据格式处理 我这里写了json 也可以红xml.text.html 等格式 type:&quo

  • 解决拦截器对ajax请求的拦截实例详解

    解决拦截器对ajax请求的的拦截 拦截器配置: public boolean preHandle(HttpServletRequest request, HttpServletResponse response,Object obj) throws Exception { //获取判定登陆的session是否存在 String token = (String) request.getSession().getAttribute("token"); String postId = (St

  • JQuery打造PHP的AJAX表单提交实例

    如果你对JQuery的基本语法还不是很熟悉,请搜索本站的教程资源.如果你对PHPMailer用法不熟悉,请查看本站的另一篇文章<使用PHPMailer类库发送电子邮件>. 第一步,创建一个表单HTML页面 这里,我们只展示主要的表单部分HTML结构代码: 复制代码 代码如下: <div id="contact_form"> <form name="contact" method="post" action="

随机推荐