asp.NetXMLHttpRequestユーザー登録前の検証を実現
2032 ワード
テストは環境VS 2008に合格して、2つの新しい項目を追加します
1:DEMO3.ASPX
2:IsHaveUserプロセッサ
1:DEMO3.ASPX
// ,SEND
function createQueryString() {
var userName = document.getElementById("userName").value;
var querystring = "userName=" + userName;
return querystring;
}
function RunAjax() {
// ' DEMO1.HTML XMLHttpRequest '
createXMLHttpRequest();
var queryString = "IsHaveUser.ashx?";
queryString = queryString + createQueryString()
+ "&timeStamp=" + new Date().getTime();//URL ,
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET", queryString, true);
xmlHttp.send(null);
document.getElementById('validateMessage').innerText = ' , ...';
}
function handleStateChange() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
var result = xmlHttp.responseText;
document.getElementById("validateMessage").innerText = result;
if (result== " ! ...") {
setTimeout("document.getElementById('validateMessage').innerText='';", 2000);
}
}
}
}
2:IsHaveUserプロセッサ
public class IsHaveUser : IHttpHandler {
public void ProcessRequest (HttpContext context) {
System.Threading.Thread.Sleep(2000);
string userName = context.Request.QueryString["userName"];
bool result = , ,
if (result)
{
context.Response.Write(" ! ...");
}
else { context.Response.Write(" , ..."); }
}
public bool IsReusable { get { return false;}}
}