function getXMLRequester()
{
try{
var xmlhttp_request=false;
if(window.ActiveXObject)
{
for (var i = 5; i > -1; i--) {
try{
if(i==2)
{
xmlhttp_request = new ActiveXObject("Micresoft.XMLHTTP");
}else
{
xmlhttp_requesr = new ActiveXObject("Msxm12.XMLHTTP."+i+".0");
}
break;
}catch(e){
xmlhttp_request = false;
}
}
}else if(window.XMLHttpRequest){
xmlhttp_request = new XMLHttpRequest();
}
}catch(e)
{
xmlhttp_request = false;
}
return xmlhttp_request;
}
下面就可以获得状态码了,看是否与服务器交互有没有成功
三、常用属性
l onreadystatechange:指定回调函数
l readyState: XMLHttpRequest的状态信息
就绪状态码 | 说 明 |
0 | XMLHttpRequest对象没有完成初始化 即:刚刚创建。 |
1 | XMLHttpRequest对象开始发送请求 调用了open方法,但还没有调用send方法。请求还没有发出 |
2 | XMLHttpRequest对象的请求发送完成 send方法已经调用,数据已经提交到服务器,但没有任何响应 |
3 | XMLHttpRequest对象开始读取响应,还没有结束 收到了所有的响应消息头,但正文还没有完全收到 |
4 | XMLHttpRequest对象读取响应结束 一切都收到了 |
l status:HTTP的状态码
状态码 | 说 明 |
200 | 服务器响应正常 |
400 | 无法找到请求的资源 |
403 | 没有访问权限 |
404 | 访问的资源不存在 |
500 | 服务器内部错误 |
.//一般用window.onload这种形式应用AJAX
window.onload = function(){
//得到对象var element = document.getElementById("name");//还有其他几个getElementByTaName 等等看手册吧
element.onkeyup = function(){//给对象注册按键弹起事件
//获取文本框的值
var name = this.value;
//如果文本框不没有数据时,把div隐藏,且不向服务器发送请求
if(name==""){
div.style.display="none";
return;
}
var req = getXMLRequester();//1、调用上面获得XMLHTTP控件,赋值给变量req.
//4、处理结果
if(req.readyState==4)//XMLHttpRequest 成功读取对象
{
if(req.State==200)//服务器响应正常
{
req.responseText//服务器回应的内容
{
}
//2、建立一个联接(与服务器响应码对应)
req.open("get","url 你要连接的路径");
//3、发送请求
req.send():
}