1.简单版
AjaxLogin.html代码:

<head>
<title></title>
<script src="jquery-1.8.3.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#btn").click(function () {
var name = $("#name").val();
var pwd = $("#pwd").val();
$.ajax({
type: "post",
url: "AjaxLogin.ashx",
data: { name: name, pwd: pwd },
success: function (data) {
var strs = $.parseJSON(data);
if (strs.Status == "ok") {
alert(strs.Msg);
}
else if (strs.Status == "error") {
alert(strs.Msg);
}
else {
alert("服务器返回信息出错");
}
},
error: function () {
alert("登录请求失败");
}
});
});
});
</script>
</head>
<body>
<input type="text" id="name" value="" />
<input type="text" id="pwd" value="" />
<input type="button" id="btn" value="确定" />
</body>
</html>

AjaxLogin.ashx代码:

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/html";
string name = context.Request["name"];
string pwd = context.Request["pwd"];
if (name == "admin" && pwd == "")
{
string json = new JavaScriptSerializer().Serialize(new { Status = "ok", Msg = "登录成功" });
context.Response.Write(json);
}
else
{
string json = new JavaScriptSerializer().Serialize(new { Status = "error", Msg = "登录失败" });
context.Response.Write(json);
}
}

2.完整版

Login.html代码:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>登录</title>
<script src="jquery-1.5.2.js"></script>
<script type="text/javascript">
$(function () {
$("#imgValidCode").click(function () {
$("#imgValidCode").attr("src", "LoginValidCode.ashx?" + new Date());
}); $("#btnLogin").click(function () {
var username = $("#username").val();
var password = $("#password").val();
var validCode = $("#validCode").val();
$.ajax({
type: 'post', url: 'Login1.ashx', data: { username: username, password: password ,validCode:validCode},
success: function (data) {
if (data.Status == "ok") {
alert("登录成功");
}
else if (data.Status == "error") {
alert("出错啦!" + data.Msg);
}
else {
alert("服务器返回信息未知");
}
},
error: function () {
alert("登录请求失败");
}
});
});
}); </script>
</head>
<body>
<table>
<tr><td>用户名:</td><td><input type="text" id="username" /></td></tr>
<tr><td>密码:</td><td><input type="password" id="password" /></td></tr>
<tr><td><img src="LoginValidCode.ashx" id="imgValidCode" /></td><td><input type="text" id="validCode" /></td></tr>
<tr><td><input type="button" id="btnLogin" value="登录" /></td><td></td></tr>
</table>
</body>

Login.ashx代码:

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "application/json";
string username = context.Request["username"];
string password = context.Request["password"];
string validCode = context.Request["validCode"]; //sesssion中的验证
string serverValidCode = (string)context.Session[LoginValidCode.LOGINVALIDCODE];
if (validCode != serverValidCode)
{
string json = new JavaScriptSerializer().Serialize(new { Status="error",Msg="验证码错误"});
context.Response.Write(json);
return;
}
DataTable dtUsers = SqlHelper.ExecuteQuery("select * from T_Users where UserName=@UserName",
new SqlParameter("@UserName",username));
if (dtUsers.Rows.Count <= )
{
string json = new JavaScriptSerializer().Serialize(new { Status = "error", Msg = "用户名不存在" });
context.Response.Write(json);
return;
}
if (dtUsers.Rows.Count > )
{
string json = new JavaScriptSerializer().Serialize(new { Status = "error", Msg = "系统出错,请联系管理员" });
context.Response.Write(json);
return;
}
DataRow rowUser = dtUsers.Rows[];
string dbPassword = (string)rowUser["Password"];
if (dbPassword == password)
{
string json = new JavaScriptSerializer().Serialize(new { Status = "ok", Msg = "登录成功" });
context.Response.Write(json);
}
else
{
string json = new JavaScriptSerializer().Serialize(new { Status = "error", Msg = "密码错误" });
context.Response.Write(json);
}
}

JQuery的ajax登录案例的更多相关文章

  1. Django(十二)视图--利用jquery从后台发送ajax请求并处理、ajax登录案例

    一.Ajax基本概念 [参考]:https://www.runoob.com/jquery/jquery-ajax-intro.html 异步的javascript.在不全部加载某一个页面部的情况下, ...

  2. Python Django 之 基于JQUERY的AJAX 登录页面

    一.基于Jquery的Ajax的实现 1.url 2.vews 3.templates

  3. jQuery中的ajax用法案例

    什么是 AJAX? AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML). 简短地说,在不重载整个网页的情况下,AJAX 通过后台加载 ...

  4. 用户管理的设计--4.jquery的ajax实现登录名的校验

    页面效果 鼠标失去焦点时,不需要刷新页面进行校验,判断登录名是否重复. 实现步骤 1.引入struts2-json-plugin-2.5.10.1插件包 2.页面使用jquery的ajax实现后台校验 ...

  5. JQuery中Ajax详细参数使用案例

    JQuery中Ajax详细参数使用案例 参考文档:http://www.jb51.net/shouce/jquery1.82/ 参考文档:http://jquery.cuishifeng.cn/jQu ...

  6. jSon和Ajax登录功能,ajax数据交互案例

    ajax实例,检测用户与注册 检测用户名是否被占用: 在用户填写完用户名之后,ajax会异步向服务器发送请求,判断用户名是否存在 首先写好静态页面: index.html <!DOCTYPE h ...

  7. 【jQuery实例】Ajax登录页面

    登录界面是信息系统提供的必备的功能,是提供给用户提供维护信息的接口.接下来,我来带领大家打造一个漂亮.安全的登录界面,使用的技术是ASP.NET+jQuery 先来看看预览效果   Ajax登录重点在 ...

  8. Django(十六)基于模板的登录案例:登录装饰器、csrf攻击方式及防护、ajax的Post 的csrf开启写法、生成验证码、加验证码登录、反向解析+传参

    一.csrf攻击 1.1 csrf攻击(跨站请求伪造) [csrf攻击即]:通过第3方网站,伪造请求(前提条件是你已经登录正常网站,并保存了session或cookie登录信息且没有退出),第三方网站 ...

  9. 实现Web请求后端Api的Demo,实现是通过JQuery的AJAX实现后端请求,以及对请求到的数据的解析处理,实现登录功能

    本篇实现Web请求后端Api的Demo,实现是通过JQuery的AJAX实现后端请求,以及对请求到的数据的解析处理,实现登录功能需求描述:1. 请求后端Api接口地址2. 根据返回信息进行判断处理前端 ...

随机推荐

  1. 以一个权限系统来告别WebForm —(一)项目整休架构设计与数据库设计

    在本节我想与大家与分享一下,我所将要做的权限系统的架构和数据库的表的设计.请各位大神们对我项目中设计的不足之处进行指导,让我得以更好的写完它,留给需要它的人. 我的项目架构如下图所示: 如上图所示,在 ...

  2. udp 内网穿透 互发消息

    还差实现内网终端,向服务器发送请求,要对方的内网连接自己,实现打洞.在同一网段,或者公网运行,可以相互聊天. 没有实现检测客户端下线功能. 1,服务器代码 package router; import ...

  3. 【干货】Laravel --实战篇 UUID(唯一识别码)

    前言 : 一般的唯一识别id都是各种时间戳.毫秒级时间戳加php内置函数或者加上随机数等手段来生成的. 下面给大家介绍一个组件,也是我在各个实战项目中必不可少的一个组件,ramsey/uuid.一.r ...

  4. POJ1845Sumdiv(求所有因子和 + 唯一分解定理)

    Sumdiv Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 17387   Accepted: 4374 Descripti ...

  5. POJ 2240Arbitrage(Floyd)

    E - Arbitrage Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submi ...

  6. memcache的内存回收机制

    memcache不会释放内存,而是重新利用. 在缓存的清除方面,memcache是不释放已分配内存.当已分配的内存所在的记录失效后,这段以往的内存空间,memcache只会重复利用. memcache ...

  7. 基于SSH2框架Struts2拦截器的登录验证实现(转)

        大象在这里假设你已经弄清楚了Struts2拦截器的基本概念,可以进入实际运用了.那么我们在之前的基础上只需要做下小小的改变,就可以使用Struts2的拦截器机制实现登录的验证.     修改数 ...

  8. ajax 如何做到 SEO 友好

    我猜你是在网络上搜索“ajax如何被搜索引擎收录”.“ajax SEO”.“ajax SEO友好”等关键词来到这里的.你可能已经很疲惫了,因为前段时间我也这样搜索,但是我发现搜索到的内容质量不高,有的 ...

  9. MySQL日期数据类型、MySQL时间类型使用总结

    MySQL:MySQL日期数据类型.MySQL时间类型使用总结 MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型 存储空间 日期格式 日期范围 ------------ --- ...

  10. POJ2823 Sliding Window (单调队列)

    POJ2823 Sliding Window Time Limit: 12000MS   Memory Limit: 65536K Total Submissions: 38342   Accepte ...