ajax异步无刷新,简单的Ajax异步无刷新唯一性验证

超级简单的Ajax异步无刷新唯一性验证判断,常用在网页不刷新获取用户名、邮箱等是否存在。此文用的是简单的javascript+ASP.NET判断,也可以用Jquery Ajax框架等更加方便的使用Ajax的各种功能。

56734473ef5473edf11eeb980dd76c34.png

Javascript代码:

//验证是否唯一

var returnValue;

var xmlHttp;

function GetXmlHttpObject() {

var xmlHttp = null;

try {

// Firefox, Opera 8.0+, Safari

xmlHttp = new XMLHttpRequest();

}

catch (e) {

//Internet Explorer

try {

xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");

}

catch (e) {

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

}

}

return xmlHttp;

}

function CheckUnique() {

xmlHttp = GetXmlHttpObject()

if (xmlHttp == null) {

alert("Browser does not support HTTP Request")

return false;

}

//去掉所有空格replace(/\s+/g, "")

var UserId =$("#").val().replace(/\s+/g, "");

var url = "../../HttpHandler/CheckUserUnique.ashx" + "?sid=" + Math.random();

url = url + "&Num=" + UserId;

xmlHttp.onreadystatechange = stateChanged;

xmlHttp.open("GET", url, true);

xmlHttp.send(null);

}

function stateChanged() {

if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {

returnValue = xmlHttp.responseText;

if (returnValue == "true")

document.getElementById("worn").innerHTML = "该用户编号已经存在!";

else

document.getElementById("worn").innerHTML = "*";

}

}

ASP.NET后台CheckUserUnique.ashx页面代码,也可以使用普通aspx页面。public void ProcessRequest(HttpContext context)

{

context.Response.ContentType = "text/plain";

string parmeter;

if (context.Request.QueryString["Num"] == null || context.Request.QueryString["Num"].ToString() == "")

parmeter = "0";

else

parmeter = context.Request.QueryString["Num"].ToString().Trim();

string sql = "select * from UserInfo where StudentId='" + parmeter + "'";

if (DbHelperSQL.Exists(sql))

{

context.Response.Write("true");

}

else

{

context.Response.Write("false");

}

}

使用ajax异步Javascript时候应该注意的问题。

1、请求的路径应该用相对路径。例如:(../../Ajax.aspx)

2、如果不是用的ashx,用的是aspx则需要在前台去掉form标签(去掉

)

3、获取后台返回的字符串时候

Response.Write("要返回客户端的字符串!");

Response.Flush();//Flush立即发送缓冲区中的输出

Response.End();//终止执行下面的输出语句!

4、最好用jQuery实现Ajax功能,比上javascript简洁的多、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值