Login.html

<head>
<title>登录</title>
<mce:script src="js/jquery-1.5.2.js" mce_src="js/jquery-1.5.2.js" type="text/javascript"></mce:script>
<mce:script src="js/login.js" mce_src="js/login.js" type="text/javascript"></mce:script>
</head>
<body>
<form id="form1" runat="server">
<div>
<div id="background">
<div id="loginBox">
<span id="title">登录</span>
<div id="LoginMessage">
用户名:
<input id="txtUser" type="text" maxlength="25" class="txtbox" />
<br />
密 码:
<input id="txtPassword" type="password" maxlength="25" class="txtbox" />
<br />
<center>
<div id="loading">
<img src="data:images/loading.gif" mce_src="data:images/loading.gif" alt="login"/></div>
<input id="btnLogin" type="image" src="data:images/login.gif" mce_src="data:images/login.gif"/>
</center>
</div>
</div>
</div>
</div>
</form>
</body>

  

Login.js

/*----------------------------------------------------------------
// File Name:login.js
// File Introduce
// check and handler user input
//
// Create Mark
// Create Date: 4/20/2011 11:15:19 PM
// Create by Ben.Jiang
//----------------------------------------------------------------*/ var email_str = /^(?:[a-z/d]+[_/-/+/.]?)*[a-z/d]+@(?:([a-z/d]+/-?)*[a-z/d]+/.)+([a-z]{2,})+$/i; //Email regular expression $(document).ready(function() {
$("#btnLogin").click(function() {
var username = $("#txtUser").val();
var password = $("#txtPassword").val();
if (username == "" || password == "") {//check if the input is legal
alert("用户名和密码不可以为空!");
return false;
}
else if (!email_str.test(username)) {//check if email is legal
alert("邮件地址格式不正确!");
return false;
} else {
$.ajax({
type: "POST",
url: "/Ajax/LoginHandler.ashx", //event handler url
data: "username=" + escape($('#txtUser').val()) + "&password=" + escape($('#txtPassword').val()),//发送ajax请求
beforeSend: function() {
$("#loading").css("display", "block"); //show loading
$("#btnLogin").css("display", "none"); //hide login button
},
success: function(msg) {
$("#loading").hide(); //hide loading
if (msg == "unregistered") {
alert("对不起,该用户未注册!");//user is unregistered
}
if (msg == "frozen") {
alert("对不起,该用户已被冻结!");//user id frozen
}
if (msg == "fail") {
alert("对不起,用户名或密码错误!"); //login failed
}
if (msg == "success") {
parent.document.location.href = "manage.aspx"; //login successfully
}
},
complete: function(data) {
$("#loading").css("display", "none"); //hide loading
$("#btnLogin").css("display", "block"); //show login
}
});
}
return false; //stop client continue submit
}
);
});

  

LoginHandler.ashx:

/*----------------------------------------------------------------
// File Name:LoginHandler.ashx.cs
// File Introduce
// handler user login
//
// Create Mark
// Create Date: 4/20/2011 12:15:19 PM
// Create by Ben.Jiang
//----------------------------------------------------------------*/ using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
using System.Web.SessionState;
using PLA.BLL;
using PLA.Model;
using Web.App_Code; namespace Web.Ajax
{
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class LoginHandler : IHttpHandler,IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string username = context.Request["username"];
string password = context.Request["password"]; UserBLL userBLL = new UserBLL();
//check if the user is registered
if (!userBLL.GetUserRegister(username))
{
context.Response.Write("unregistered");
}//check if the user is frozen
else if (!userBLL.CheckUserBanStatusByEmail(username))
{
context.Response.Write("frozen");
}
else
{
LoginBLL loginBLL = new LoginBLL();
//check if the username and password is right
bool flag = loginBLL.ValidateLogin(username, MD5Helper.getMd5Hash(password), null);
if (flag)
{
UserInfo user = userBLL.GetUserInfoByEmail(username);
context.Session["UID"] = user.U_ID;
context.Session["Email"] = user.U_Email;
context.Response.Write("success");
}
else
{
context.Response.Write("fail");
}
}
} public bool IsReusable
{
get
{
return false;
}
}
}
}

  

Ajax - 登录的更多相关文章

  1. ajax登录验证-js

    1.html代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...

  2. python 全栈开发,Day87(ajax登录示例,CSRF跨站请求伪造,Django的中间件,自定义分页)

    一.ajax登录示例 新建项目login_ajax 修改urls.py,增加路径 from app01 import views urlpatterns = [ path('admin/', admi ...

  3. Ajax登录用户名密码

    <script src="http://code.jquery.com/jquery-latest.js"></script>#引入jQuery#当点击函数 ...

  4. Django Ajax登录 防止CSRF

    什么是CSRF 维基百科: 跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CS ...

  5. Django 博客项目01 数据库设计与验证码校验+Ajax登录

    数据库设计 from django.db import models from django.contrib.auth.models import AbstractUser class UserInf ...

  6. 知问前端——Ajax登录

    本文,将使用Ajax登录. 一.服务器端代码 is_user.php: <?php require 'config.php'; $query = mysql_query("SELECT ...

  7. 巨蟒python全栈开发django10:ajax&&登录认证

    通过题目进行知识点回顾: 聚合查询 From django.db.models import Avg,Min,Max,F,Q,Count,Sum #查询书籍的平均值 Ret= Models.Book. ...

  8. 转:ajax的AntiForgery和Authorize 以及ajax登录例子

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/ashcn2001/article/det ...

  9. 项目:jSon和Ajax登录功能

    组件化网页开发 / 步骤二 · 项目:jSon和Ajax登录功能 要熟练编写封装的$.ajax({........})

  10. 解决shiro自定义filter后,ajax登录无法登录,并且无法显示静态资源的问题

    这个问题困扰了我一天,看了下面两个文章,豁然开朗: https://www.cnblogs.com/gj1990/p/8057348.html https://412887952-qq-com.ite ...

随机推荐

  1. php __autoload使用

    官方介绍: void __autoload ( string $class ) 你可以通过定义这个函数来启用类的自动加载. 转载一篇文章: PHP autoload机制详解 (1) autoload机 ...

  2. 基于visual Studio2013解决C语言竞赛题之0423比赛安排

       题目

  3. matrix(dp)

    matrix Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Sub ...

  4. 【原创】Android 系统稳定性 - ANR(二)

    文章都为原创,转载请注明出处,未经允许而盗用者追究法律责任. 很久之前写的了,留着有点浪费,共享之.编写者:李文栋P.S. OpenOffice粘贴过来后格式有些混乱. 1.2 如何分析ANR问题 引 ...

  5. 国产CPU走到十字路口:谁来取代英特尔芯片?(少写了一个OpenPower)

    国内的几支CPU研发力量各自选择的指令体系都有自己的优点和问题,选择其中的哪一支都会有对应的成本和风险.最终谁能担大任,且拭目以待. 文 | 瞭望智库特约科技观察员 王强 用上内置国产CPU的个人电脑 ...

  6. netbeans 将项目打包生成单个可执行的 jar

    原文:netbeans 打包生成 jar 文件页里找到build.xml文件,打开在</project>前 加入以下代码保存之 <target name="package- ...

  7. 一个故事讲清楚NIO(转)

    转载请引用:一个故事讲清楚NIO 假设某银行只有10个职员.该银行的业务流程分为以下4个步骤: 1) 顾客填申请表(5分钟): 2) 职员审核(1分钟): 3) 职员叫保安去金库取钱(3分钟): 4) ...

  8. IE浏览器下web调试工具之--IE WebDeveloper介绍

    做Web项目的架构设计.开发.测试,免不了要熟悉Web页面调试工具,以此来获知哪些浏览器支持Web页面的显示,哪些浏览器下显示有问题. 目前市面上比较火爆的浏览器内核提供商,有微软的IE.mozill ...

  9. 用CentOS,fedora等访问局域网中的Windows共享

    来到Linux世界中已有一段时间了,感觉上好像自己的电脑成了一个孤岛.周围的人都还是用Windows系统,能相互共享文件,我用Linux系统,别人的共享文件都还不知道怎么访问?通过网上查资料学习,现在 ...

  10. C#面向对象2 静态类、静态成员的理解

    理解:静态成员属于类所有,为各个类的实例所公用,与实例无关,需要全局共享的属性或者方法定义成静态的 C#静态成员:  1.静态成员属于类所有,故用类名调用,非静态成员属于类的实例所有,用实例名调用  ...