首先创建一个XMLHttpRequest
XMLHttpRequest
function createRequest()
{
try
{
request = new XMLHttpRequest();
}
catch(trymicrosoft)
{
try
{
request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(othermicrosoft)
{
try
{
request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(failed)
{
request = null;
}
}
}
if(request == null)
{
alert("Error,Creating request object!");
}
}
function createRequest()
{
try
{
request = new XMLHttpRequest();
}
catch(trymicrosoft)
{
try
{
request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(othermicrosoft)
{
try
{
request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(failed)
{
request = null;
}
}
}
if(request == null)
{
alert("Error,Creating request object!");
}
}
然后开始编写需要发送异步请求的方法:
sendAsynchronousRequest
function ajaxLogin()
{
var emailLogin = document.getElementById("UserEmailInput").value;
var passwordLogin = document.getElementById("UserPwdInput").value;
createRequest();
//new Date().getTime() 加上一个随机时间字符,避免请求缓存
var url = "AjaxLogin.aspx?Email=" + emailLogin + "&thisTime=" + new Date().getTime();
request.open("GET",url,true);
request.onreadystatechange = updatePageUserLogin; //回调函数updatePageUserLogin方法名后面被禁止书写小括号()
request.send(null);
}
function ajaxLogin()
{
var emailLogin = document.getElementById("UserEmailInput").value;
var passwordLogin = document.getElementById("UserPwdInput").value;
createRequest();
//new Date().getTime() 加上一个随机时间字符,避免请求缓存
var url = "AjaxLogin.aspx?Email=" + emailLogin + "&thisTime=" + new Date().getTime();
request.open("GET",url,true);
request.onreadystatechange = updatePageUserLogin; //回调函数updatePageUserLogin方法名后面被禁止书写小括号()
request.send(null);
}
回调函数执行:
call-back function
function updatePageUserLogin()
{
if(request.readyState == 4)
{
if(request.status == 200)
{
var content = request.responseText;
if(content == "True")
{
//alert("登录成功");
setUserLoginOkCookie(); //用户登录成功以后给用户保存cookie
}
if(content == "False")
{
//alert("失败");
var html = '<div style="color:"><img src="pic/bg/exit.png"></img> 用户名或密码错误,请重新输入:</div>';
jQuery("#LoginNameAndPasswordError").html(html);
}
}
}
}
function updatePageUserLogin()
{
if(request.readyState == 4)
{
if(request.status == 200)
{
var content = request.responseText;
if(content == "True")
{
//alert("登录成功");
setUserLoginOkCookie(); //用户登录成功以后给用户保存cookie
}
if(content == "False")
{
//alert("失败");
var html = '<div style="color:"><img src="pic/bg/exit.png"></img> 用户名或密码错误,请重新输入:</div>';
jQuery("#LoginNameAndPasswordError").html(html);
}
}
}
}
就这样,优雅简洁的完成了ajax异步请求!
不错吧!努力赚钱给老婆 买个iPhone $4600RMB