标签:
var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject(‘Microsoft.XMLHTTP‘); //创建XMLHTTP对象,考虑兼容性 xmlhttp.open("POST", "AJAXTest.ashx?i=5&j=10", true); //“准备”向服务器的GetDate1.ashx发出Post请求(GET可能会有缓存问题),Post请求浏览器一定不会缓存。这里还没有发出请求。true代表异步请求。 xmlhttp.onreadystatechange = function () { if (xmlhttp.readyState == 4) //readyState == 4 表示服务器返回完成数据了。之前可能会经历2(请求已发送,正在处理中)、3(响应中已有部分数据可用了,但是服务器还没有完成响应的生成) { if (xmlhttp.status == 200) //如果状态码为200则是成功 { alert(xmlhttp.responseText); } else { alert("AJAX服务器返回错误!"); } } }
function ajax(url,onsuccess,onfail) { var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject(‘Microsoft.XMLHTTP‘); xmlhttp.open("POST", url, true); xmlhttp.onreadystatechange = function () { if (xmlhttp.readyState == 4) { if (xmlhttp.status == 200) { onsuccess(xmlhttp.responseText); } else { onfail(xmlhttp.status); } } } xmlhttp.send(); //这时才开始发送请求
四、ajax案例:检查用户名是否可用
案例代码:
html
html: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script type="text/javascript" src="jquery-1.5.2.js"></script> <script type="text/javascript" src="rpajax.js"></script> <script type="text/javascript"> $(function () { $("#username").blur(function () { var username = $("#username").val(); ajax("CheckUserName.ashx?username="+username, function (resTxt) { if (resTxt == "ok") { $("#msg").text("此用户名可用"); } else { var strs = resTxt.split("|"); if (strs[0] == "error") { $("#msg").text(strs[1]); } } }, function (status) { alert("出错"); }); }); }); </script> </head> <body> 傻瓜化只是让我们的工作变得简单,而不是让我们变成傻子!<br /> 用户名:<input type="text" id="username" /><span id="msg"></span> </body> </html>
ashx
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; //"ok",用户可以用 //"error|含有违禁词汇","error|用户名已被使用" string username = context.Request["username"]; if (string.IsNullOrWhiteSpace(username)) { context.Response.Write("error|用户名必填"); return; } if (username.Length<3||username.Length>10) { context.Response.Write("error|用户名长度必须介于3和10之间"); return; } if (username.Contains("毒品") || username.Contains("手*枪")) { context.Response.Write("error|含有违禁词汇"); return; } int c =(int)SqlHelper.ExecuteScalar("select count(*) from T_Users where UserName=@UserName", new SqlParameter("@UserName", username)); if (c > 0) { context.Response.Write("error|用户名已经被使用"); return; } context.Response.Write("ok"); }
标签:
原文地址:http://www.cnblogs.com/Procedure-mice/p/5076151.html