`

jQuery Ajax异步交互登录界面

阅读更多
摘要:  登录界面提供给用户维护信息的接口,登录界面重点在Ajax,这里使用的是 ASP.NET 与 jQuery ,输入用户名和密码后,使用Ajax方式将信息提交到服务器端,服务器端判断时候存在该用户,存在则登录成功并转向管理界面,有时需要 cookie 或 Session ,
登录界面提供给用户维护信息的接口,登录界面重点在Ajax,这里使用的是 ASP.NET 与 jQuery ,输入用户名和密码后,使用Ajax方式将信息提交到服务器端,服务器端判断时候存在该用户,存在则登录成功并转向管理界面,有时需要 cookie 或 Session ,此处不作讨论,不存在则提示登录失败。

出于安全需要,在使用ajax 将密码传到服务器端前,我们可以使用MD5对密码进行加密,当然数据库中存储的也是加密后的字符串。jQuery 有一款这样的MD5加密插件。

主要代码

Default.aspx 提供超链接,点击会调用thickbox,打开弹出页面。

以下为引用内容:
<div style="margin-left:50px; margin-top:50px; ">
欢迎使用后台,<a href="Login.htm?TB_iframe&height=180&width=350&modal=true" class="thickbox"   id="myToolTip"  title="点击登录,进入后台管理" >点击登录!</a>&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
继续浏览前台,<a href="../Default.aspx">返回前台</a>
login.htm 登录界面,负责登录逻辑。

以下为引用内容:
<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<script type="text/javascript">
    $().ready(function () {
        $('#Login').click(function () {
            if ($('#username').val() == "" || $('#password').val() == "") {
                alert("用户名或密码不能为空!");
            }
            else {
                $.ajax({
                    type: "POST",
                    url: "Ajax/LoginHandler.ashx",
                    data: "username=" + escape($('#username').val()) + "&password=" + escape($('#password').val()),
                    beforeSend: function () {
                        $("#loading").css("display", "block"); //点击登录后显示loading,隐藏输入框
                        $("#login").css("display", "none");
                    },
                    success: function (msg) {
                        $("#loading").hide(); //隐藏loading
                        if (msg == "success") {
                            //parent.tb_remove();
                            parent.document.location.href = "admin.htm"; //如果登录成功则跳到管理界面
                            parent.tb_remove();
                        }
                        if (msg == "fail") {
                            alert("登录失败!");
                        }
                    },
                    complete: function (data) {
                        $("#loading").css("display", "none"); //点击登录后显示loading,隐藏输入框
                        $("#login").css("display", "block");
                    },
                    error: function (XMLHttpRequest, textStatus, thrownError) {
                    }
                });
            }
        });
    });
</script>
<div id="loading" style="text-align: center; display: none; padding-top: 10%">
    <img src="images/loading.gif" alt="loading" />
</div>
<div id="login" style="text-align: center">
<div style="position:absolute; right:0; top:0"><img src="images/closebox.png" onclick="parent.tb_remove()" alt="点击关闭" style="cursor:pointer"  /></div>
<table border="0" cellpadding="3" cellspacing="3" style="margin: 0 auto;">
        <tr>
            <td style="text-align: right; padding: 10px">
                <label>用户名:</label>
            </td>
            <td>
                <input id="username" type="text" size="20" />
            </td>
        </tr>
        <tr>
            <td style="text-align: right; padding: 10px">
                <label>密码:</label>
            </td>
            <td>
                <input id="password" type="password" size="20" />
            </td>
        </tr>
        <tr align="right">
            <td colspan="2">
                <input type="submit" id="Login" value="&nbsp;&nbsp;登&nbsp;录&nbsp;&nbsp;" style="margin-right: 50px">&nbsp;
                <input type="submit" id="LoginCancel" value="&nbsp;&nbsp;取&nbsp;消&nbsp;&nbsp;" onclick="parent.tb_remove()">
            </td>
        </tr>
    </table>
</div>


LoginHandler.ashx ajax 处理类,处理简单逻辑。
以下为引用内容:
//此处连接数据库查看是否有此用户,此处为了方便起见,直接判断
if (username == "admin" && password == "1"){
     context.Response.Write("success");
     //存储session
}else{
     context.Response.Write("fail");
}
jQuery 加密MD5插件,引用md5.js 后使用$.md5() 函数对字符串进行加密。

login.htm

以下为引用内容:
data: "username=" + escape($('#username').val()) + "&password=" + $.md5(escape($('#password').val())),
success: function (msg) {
   $("#loading").hide(); //隐藏loading
   alert(msg);
   if (msg == "success") {
   //parent.tb_remove();
   parent.document.location.href = "admin.htm"; //如果登录成功则跳到管理界面
   parent.tb_remove();
   }
   if (msg == "fail") {
      alert("登录失败!");
   }
}
LoginHandler.ashx 中加密码返回。

以下为引用内容:
context.Response.Write(password);
再次运行程序弹出输入密码的MD5 加密后的字符串。
分享到:
评论
1 楼 18728707655 2017-05-20  
[i][color= blue][/color][/i]

相关推荐

    利用Ajax+Jquery实现异步进度条效果

    总结来说,"利用Ajax+Jquery实现异步进度条效果"是一个综合性的技术实践,涵盖了C#、.NET框架、Ajax和Jquery等多个技术领域,旨在通过实时反馈提高用户交互体验。理解并掌握这些技术,对于开发高效、用户友好的Web...

    jQuery-ajax-用户名异步请求

    在Web开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理以及Ajax交互。本主题聚焦于jQuery中的Ajax功能,特别是如何利用它进行异步用户名验证。Ajax,即Asynchronous JavaScript and ...

    jQuery中异步交互技术详细指南

    ### jQuery中异步交互技术详细指南 #### 引言 随着Web开发的不断发展,异步交互技术成为提高用户体验的关键手段之一。jQuery作为一个流行的JavaScript库,提供了丰富的API来简化这一过程。其中,`jQuery.ajax()`是...

    spring3 mvc 用 jquery ajax 交互

    本文将深入探讨如何在Spring MVC框架中利用jQuery的AJAX功能进行前后端交互,提升用户体验。 首先,Spring MVC是Spring框架的一个模块,专为构建可维护、可扩展的Web应用而设计。它采用模型-视图-控制器(MVC)架构...

    Jquery异步交互

    在jQuery中,异步交互主要依赖于AJAX(Asynchronous JavaScript and XML)技术,允许页面在不刷新的情况下与服务器交换数据并更新部分网页内容。本文将深入探讨jQuery中的异步交互,特别是`jQuery.ajax()`方法及其...

    Java通过jQuery实现ajax异步请求

    综上所述,"Java通过jQuery实现ajax异步请求"的示例工程涵盖了客户端与服务器端的交互流程,包括使用jQuery发起AJAX请求、Java后端处理请求并返回数据,以及数据格式的转换和错误处理。了解并掌握这些知识点,对于...

    springMVC jQuery ajax交互

    jQuery还提供了方便的Ajax函数,如$.ajax()、$.get()和$.post(),允许我们实现异步数据传输,无需刷新整个页面就能与服务器进行通信。 在SpringMVC和jQuery的集成中,Ajax通常用于实现前后端的无刷新交互。例如,...

    详谈 Jquery Ajax异步处理Json数据.

    通过以上的知识点,可以了解到在Jquery Ajax异步处理JSON数据的过程中,开发者需要了解前端如何发送请求、指定期望的响应数据类型、以及如何在回调函数中处理服务器返回的JSON格式数据。这种机制使得Web应用可以提供...

    JqueryAjax异步处理Json数据中文最新版本

    以下将详细阐述Jquery Ajax异步处理Json数据的方法。 1. 使用$.ajax()方法:$.ajax()方法是Jquery提供的底层Ajax实现,提供了丰富的选项来控制请求的各个方面。例如: ```javascript $.ajax({ url: "your-...

    Jquery 封装下的ajax异步加载

    本资源提供了一个基于jQuery的AJAX异步加载的Web项目实例,通过导入MyEclipse开发环境即可运行,涉及到的主要技术包括jQuery、JSON以及Servlet。 ### jQuery中的AJAX jQuery提供了`.ajax()`函数,它是所有AJAX功能...

    基于 jQuery 实现的 Ajax 异步分页

    总的来说,基于jQuery的Ajax异步分页技术能够显著提升网页的交互性,提供流畅的用户体验,而无需每次翻页都重新加载整个页面。通过熟练掌握这一技术,开发者可以构建出更加高效、用户友好的Web应用。

    jquery异步方式请求

    本文将深入探讨如何使用jQuery进行异步请求,这是一种非常关键的技术,它允许网页在不重新加载整个页面的情况下,通过Ajax与服务器进行数据交换,从而实现动态更新页面内容。 ### jQuery异步请求概述 jQuery的异步...

    jQuery+ajax异步加载分页代码

    **jQuery+Ajax异步加载分页代码详解** 在网页开发中,为了提高用户体验,我们常常会采用异步加载(Ajax)技术来实现分页功能,这样用户无需等待整个页面刷新,仅需加载新数据即可。本示例是基于jQuery库实现的简单...

    Ajax的jquery与后台交互

    本篇文章将深入探讨jQuery如何与后台进行Ajax交互。 ### 1. jQuery中的Ajax函数 jQuery提供了一个名为`$.ajax()`的全局函数,用于发起Ajax请求。这个函数支持多种HTTP请求方法,如GET、POST、PUT、DELETE等。基本...

    (java版本)自己做了一个jquery ajax异步请求,获得一个list对象的下拉框例子

    在本文中,我们将深入探讨如何使用Java和jQuery AJAX来实现异步请求,从而获取服务器端的一个List对象,并将其数据填充到前端的下拉框(dropdown)中。这个过程涉及到前端与后端的交互,JSON对象的序列化和反序列化...

    SpringMVC框架下使用jQueryAJAX进行数据交互

    在现代Web应用开发中,SpringMVC框架与jQuery AJAX的结合使用是常见且高效的数据交互方式。本示例将深入探讨如何在SpringMVC环境中利用jQuery的AJAX功能实现动态、无刷新的数据交换。 首先,SpringMVC是Spring框架...

    jQuery的Ajax实现异步传输List、Map

    在Web开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理和Ajax交互。Ajax(Asynchronous JavaScript and XML)技术允许我们在不刷新整个页面的情况下与服务器进行数据交换,极大地提升...

    jQuery的异步调用

    最后,将jQuery的Ajax支持与其他JavaScript库进行比较也是了解jQuery异步编程能力的一个重要方面。例如,Prototype、Dojo、Ext-JS、GWT、YUI以及Google Closure等都有各自的方式来处理Ajax交互。开发者在选择合适的...

    JQuery异步上传下载

    在IT行业中,jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画制作和Ajax交互。本文将详细讲解如何利用jQuery实现无刷新的异步上传和下载文件,以及MyEclipse环境中项目的创建与部署。 ...

Global site tag (gtag.js) - Google Analytics