Ajax.dll实现XmlHttpRequest请求服务器的实现细节。.net项目中,添加上对其的引用,就可以进行相应封装操作了。
2、在web.config中设置HttpHandle
以下为引用的内容:
<httpHandlers>
<add verb="POST,GET" path=" ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>
</httpHandlers>
3、在 <HEAD>与</HEAD>间加入一些引用如下:
以下为引用的内容:
<script src=js/Xml.js></script>
<link href="css/myStyle.css" type="text/css" rel="stylesheet">
<script src="/HttpForAjax/ajax/common.ashx" type="text/javascript"></script>
<script src="/HttpForAjax/ajax/Ttyu.AjaxData,HttpForAjax.ashx"
type="text/javascript"></script>
二、介绍正题-用户登录验证
1、前台Html:
以下为引用的内容:
<form id="Form1" method="post" runat="server" action="" onsubmit="login.GetLogin();return false;">
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="300" border="1">
<TR>
<TD></TD>
<TD><INPUT type="text" id="txtUsername">usename</TD>
</TR>
<TR> Www@Chinaz@com
<TD></TD>
<TD><INPUT type="password" id="txtPassword">pwd</TD>
</TR>
<TR>
<TD></TD>
<TD><INPUT type="submit" value="登陆"></TD>
</TR>
</TABLE>
</form>
2、引用Js文件
以下为引用的内容:
<SCRIPT language="javascript" src="login.js" type="text/javascript"></SCRIPT>
<script language="javascript">
window.onload = function()
{
login=new Login(testAjax);
}
</script>
login.Js文件
// 提取控件值
function getValueById(pObjID){
var obj=document.getElementByIdx(pObjID);
try{
return obj.value;
}catch(e){
alert("控件:"+pObjID+" 不存在,或没有value属性");
}
}
function Login(obj)
{
this.OBJ = obj;
this.GetLogin=function()
{
var returnValue;
var username=getValueById('txtUsername');
var password=getValueById('txtPassword');
if(!username||!password)
{
alert('请输入用户名与密码!');
return;
}
try
{
returnValue=this.OBJ.Login(username,password).value;
}catch(e)
{
alert('登录出错,请稍后再试或与管理员联系');
}
switch(returnValue)
{
case 1:
alert('对不起,您输入的用户名或密码不正确或者不是管理员!');
break;
case 0:
alert('管理员登录成功!');
window.document.location.href('../Error.aspx');
break;
Www^Chinaz^com
default:
alert('登录失败,请稍后再试或与管理员联系'+returnValue);
break;
}
}
}
3、.cs文件
以下为引用的内容:
private void Page_Load(object sender, System.EventArgs e)
{
Ajax.Utility.RegisterTypeForAjax(typeof(testAjax));
}
[Ajax.AjaxMethod()]
public int Login(string username,string password)
{
// 管理员登陆入口
Action.Common.CDB cdb = new Action.Common.CDB();
if("admin"==cdb.ExeScalar("select upower from users where
uname='"+username+"' and upwd='"+password+"'"))
return 0;
else
return 1;
Ajax客户登陆验证的更多相关文章
-
BBS-基于用户认证组建和Ajax实现登陆验证
功能1: 基于用户认证组件和Ajax实现登录验证(图片验证码) 总结: 1 一次请求伴随多次请求 2 PIL 3 session存储 4 验证码刷新 步骤: 1.配置静态文件夹 settings.py ...
-
本博文将一步步带领你实现抽屉官网的各种功能:包括登陆、注册、发送邮箱验证码、登陆验证码、页面登陆验证、发布文章、上传图片、form验证、点赞、评论、文章分页处理以及基于tronado的后端和ajax的前端数据处理。
本博文将一步步带领你实现抽屉官网的各种功能:包括登陆.注册.发送邮箱验证码.登陆验证码.页面登陆验证.发布文章.上传图片.form验证.点赞.评论.文章分页处理以及基于tronado的后端和ajax的 ...
-
tornado web高级开发项目之抽屉官网的页面登陆验证、form验证、点赞、评论、文章分页处理、发送邮箱验证码、登陆验证码、注册、发布文章、上传图片
本博文将一步步带领你实现抽屉官网的各种功能:包括登陆.注册.发送邮箱验证码.登陆验证码.页面登陆验证.发布文章.上传图片.form验证.点赞.评论.文章分页处理以及基于tornado的后端和ajax的 ...
-
form表单使用(博客系统的登陆验证,注册)
先从小的实例来看form的用法 登陆验证实例,来看form的常规用法 1. forms.py # 用于登陆验证验证 from django.core.validators import RegexVa ...
-
laravel ajax提交登陆存储session,并输出
前端输出session {{ Session::get('username') }} ajax提交 <div>{{ Session::get('username') }}</div& ...
-
python - 登陆验证的滑块接口
----------------- 滑块接口 ----------------- 0:大体思路:点击登陆按钮的时候会进行第一次验证(滑块验证),然后访问后台滑块接口,并返回验证结果,如果滑块接口通 ...
-
python_登陆验证文件上传下载_socket
client.py import os import sys import json import struct import socket # 下载--接收文件 def download(sk): ...
-
自己写登陆验证及借用auth的is_authenticated验证是否登陆
一. 自己写登陆需要注册,一个session的处理,还有一个session的删除 #自定义一个闭包装饰器,来验证def checkLogin(func): def wrapper(request, * ...
-
【Java EE 学习 70 上】【数据采集系统第二天】【数据加密处理】【登陆验证】【登陆拦截器】【新建调查】【查询调查】
一.数据加密处理 这里使用MD5加密处理,使用java中自带加密工具类MessageDigest. 该类有一个方法digest,该方法输入参数是一个字符串返回值是一个长度为16的字节数组.最关键的是需 ...
随机推荐
-
如何使上层的div遮住的链接可以点击
pointer-events属性 http://www.css88.com/book/css/properties/user-interface/pointer-events.htm 在上层的div中 ...
-
Delphi 中的MD5实现方法(转)
在Delphi自带的Indy控件中其实是提供了MD2,MD4,MD5对象的,我们可以直接使用它们来完成MD5的签名算法.而不需要再去找其它的DLL或是Pas了. 在Uses单元中引用 IdHashMe ...
-
typedef用法小结
typedef用法小结- - 注意:本文转自网络,版权归原作者所有. typedef typedef用法小结- - 这两天在看程序的时候,发现很多地方都用到typedef,在结构体定义,还有一些数组等 ...
-
Android SDK 更新时修改hosts文件仍然无法更新,可试试这个方法……
Android SDK 更新时修改hosts文件仍然无法更新,此时必定万分蛋疼.在hosts文件中更换了各种ip,仍然解决不了!!!!!!!!!!!!!!? 第一步: 打开此软件,等待服务器连接 第二 ...
-
javascript真的是异步的吗?且看setTimeout的实现原理以及setTimeout(0)的使用场景
在今天之前我一直以为setTimeout这个函数是异步的,无意中看到了一篇关于setTimeout的文章.发现自己曾经的认识全是错误的,赶紧总结下. 先看一段代码: var start = new D ...
-
通过hibernate封装数据库持久化过程回顾泛型/继承/实现等概念
前言 在开发过程中,我们不难发现,客户的需求以及产品的定位对开发内容的走向有很大的决策作用,而这些往往需要在一开始就尽可能考虑周全和设计完善.为什么说是尽可能,因为我们都知道,需求这种东西,一言难尽. ...
-
[Swift]LeetCode496. 下一个更大元素 I | Next Greater Element I
You are given two arrays (without duplicates) nums1 and nums2 where nums1’s elements are subset of n ...
-
zabbix监控nginx连接数量
#!/bin/bash conn=`netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}' | grep "E ...
-
Hadoop基础-网络拓扑机架感知及其实现
Hadoop基础-网络拓扑机架感知及其实现 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.网络拓扑结构 在本地网络中,两个节点被称为“彼此近邻”是什么意思?在海量数据处理中,其 ...
-
Leetcode 124 *
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode ...