zoukankan
html css js c++ java
[转]Ajax简单客户登陆验证
服务器端操作方便之处我就不吹了,地球人都知道,它最烦莫过于页面刷新,头都被刷晕了,而且他在刷新的时候,还触发服务器端的事件(解决方案:http:
//
skylaugh.cnblogs.com/archive/2006/06/05/418010.html),现在Ajax的出现,他们的结合是发展的必然!
一、介绍一下Ajax在Asp.Net中的基本使用
1
、在工程中引入Ajax.dll文件。
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
>
<
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.getElementById(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
;
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的实现,你可以密码加密,还可以加验证码之类,如此一来,就达到防止和克截获的可能
查看全文
相关阅读:
peerdroid:JXTA peers running on Android platform.
关于2.7版中对等组任务管理器
关于java获取操作系统信息
Failed to login to this group: xxx. Error=0
jxsev2.5源代码
PropertyBeanUtils.copyProperties(dest, orig)
发现两个有关Netbeans RCP开发的项目
关于AdvertisementFactory废弃的几个方法
在vs2008中,根据系统引用64和32位的动态库
vc练习总结1
原文地址:https://www.cnblogs.com/kokoliu/p/524413.html
最新文章
人生规划的14个步骤
观察走在你前面的人,看他为何领先:哈佛成功金句分享
在创业这个人生关键时段,我们必须战胜恐惧
成功是需要付出代价的: 32个成功观念分享
经理人和企业家时刻牢记这7句话,你就可以成为CEO
史玉柱送给创业者最重要的4句话
其实,我并不想将你遗忘
爱情只是一场游戏
成功从做好手头的事情开始:白领们应该学会的十点
有“圈子”才有一切:如何扩大你的人际圈子
热门文章
人在旅途:成功要拐几道弯
85句管理名言
你需知道的七件事情:送给未满30已满30的创业者和奋斗者
你是我一生唯一不变的牵挂
如果你出现这十种迹象,你就该跳槽了
为什么受伤的总是我
怎样做一个有魅力的男人
为谁相思
ResolverQuery类被废弃的一个构造函数
疑问:同一个结点加入不同的对等组,在不同的对等组中其结点ID是否相同或可以相同?
Copyright © 2011-2022 走看看