越简单越好!

Ajax的请求/响应模式

发表于 2009-09-17 16:23 | 1426次阅读 0次点赞   JavaScript

0、触发Ajax事件
1、新建XMLHttpRequest对象
2、open()方法:建立对服务器的调用
3、为onreadystatechange指定事件处理函数
4、send()方法:向服务器(CGI程序)发出请求
5、(请求返回到浏览器)
6、响应事件处理函数
—————————
新建XMLHttpRequest对象

JavaScript代码
//兼容不同浏览器
if(window.ActiveXObject && !window.XMLHttpRequest)
{
window.XMLHttpRequest = function()
{
var MSXML = ['Msxml2.XMLHTTP.5.0',
'Msxml2.XMLHTTP.4.0',
'Msxml2.XMLHTTP.3.0',
'Msxml2.XMLHTTP',
'Microsoft.XMLHTTP'];
for(var i = 0; i < msxmls.length; i++)
{
try{
return new ActiveXObject(msxmls[i]);
}catch(e){}
}
return null;
};
}
var xmlHttp = new XMLHttpRequest();//创建XMLHttpRequest对象

另一种方式:

JavaScript代码
function createXMLHttpRequest()
{
var xmlHttp;
try{
xmlHttp = new XMLHttpRequest();
}catch(e){
var MSXML = new Array( "MSXML2.XMLHTTP.6.0",
"MSXML2.XMLHTTP.5.0",
"MSXML2.XMLHTTP.4.0",
"MSXML2.XMLHTTP.3.0",
"MSXML2.XMLHTTP",
"Microsof.XMLHTTP");
for(var i=0; i<MSXML.length && !xmlHttp; i++)
{
try{
xmlHttp = new ActiveXObject(MSXML[i]);
}catch(e){}
}
}
if(!xmlHttp)
alert("Ajax Error!");
else return xmlHttp;
}
var xmlHttp = new createXMLHttpRequest();//创建XMLHttpRequest对象
———————————————————
open()方法

open("method", "url", bool)
例:xmlHttp.open("GET", "http://127.0.0.1/clients.xml", true);
——————————————————————
XMLHttpRequest属性:

onreadystatechange
每个状态改变时都会触发这个事件处理器,通常会调用一个JavaScript函数
…………………………………………………………………………………………
readyState
请求的状态。有5个可取值:0 = 未初始化,1 = 正在加载,2 = 已加载,3 = 交互中,4 = 完成
…………………………………………………………………………………………
responseText
服务器的响应,表示为一个字符串
…………………………………………………………………………………………
responseXML
服务器的响应,表示为XML。这个对象可以解析为一个DOM对象
…………………………………………………………………………………………
status
服务器的HTTP状态码(200对应OK,404对应Not Found(未找到),等等)
…………………………………………………………………………………………
statusText
HTTP状态码的相应文本(OK或Not Found(未找到)等等)
…………………………………………………………………………………………

返回顶部 ^