Ajax的流程
1个回答
2014-02-28
展开全部
Ajax(Asynchronous java and xml)就是异步JavaScript和XML.包括:1.使用XHTML和CSS标准化呈现;2.使用DOM实现动态显示和交互;3.使用XML和XSLT进行数据的交换和处理;4.使用XMLHttpRequest进行异步的数据读取;5.最后的JavaScript绑定和数据的处理所有数据;
(一) 关于 XMLHttpRequest对象
在使用这个对象向服务器端发送请求以及处理响应之前,要在JavaScript中创建一个该对象,然后通过这个对象来和服务器建立请求并接收服务器返回的数据.因此创建之前还必须进行浏览器的判断.看他是否支持ActiveX对象,如果不支持,则可以采用本地的JavaScript来创建.
下面是个创建XMLHttpRequest对象的例子:
var req;
function createRequest(){
if(window.ActiveXObject){ //进行判断了,TRUE代表有ActiveX对象
req=new ActiveXObject("Microsoft.XMLHTTP");//进行判断了,TRUE代表有ActiveX对象
}
else if(window.XMLHttpRequest){
req=new XMLHttpRequest();
}
}
XMLHttpRequest发送请求的过程如下:
1.创建一个XMLHttpRequest对象;
2.为这个对象指定一个函数,来处理这个对象的状态变化.方法是设置这个对象的onreadystatechange属性,将某个函数付给这个属性就可以了;
3.建立一个连接,XMLHttpRequest的open()方法会和服务器建立一个连接.
4.向服务器发送请求,send()方法会把请求发送到指定的URL;
例子如下:
function sendRequest(callback,url){
if(window.XMLHttpRequest){
req=new XMLHttpRequest();
req.onreadystatechange=callback;
req.open("GET",url.true);
req.send(null);
}
else if (window.ActiveXObject){
req=new ActiveXObject("Microsoft.XMLHTTP");
if(req){
req.onreadystatechange=callback;
req.open("GET",url.true);
req.send(null);
}
}
}
(一) 关于 XMLHttpRequest对象
在使用这个对象向服务器端发送请求以及处理响应之前,要在JavaScript中创建一个该对象,然后通过这个对象来和服务器建立请求并接收服务器返回的数据.因此创建之前还必须进行浏览器的判断.看他是否支持ActiveX对象,如果不支持,则可以采用本地的JavaScript来创建.
下面是个创建XMLHttpRequest对象的例子:
var req;
function createRequest(){
if(window.ActiveXObject){ //进行判断了,TRUE代表有ActiveX对象
req=new ActiveXObject("Microsoft.XMLHTTP");//进行判断了,TRUE代表有ActiveX对象
}
else if(window.XMLHttpRequest){
req=new XMLHttpRequest();
}
}
XMLHttpRequest发送请求的过程如下:
1.创建一个XMLHttpRequest对象;
2.为这个对象指定一个函数,来处理这个对象的状态变化.方法是设置这个对象的onreadystatechange属性,将某个函数付给这个属性就可以了;
3.建立一个连接,XMLHttpRequest的open()方法会和服务器建立一个连接.
4.向服务器发送请求,send()方法会把请求发送到指定的URL;
例子如下:
function sendRequest(callback,url){
if(window.XMLHttpRequest){
req=new XMLHttpRequest();
req.onreadystatechange=callback;
req.open("GET",url.true);
req.send(null);
}
else if (window.ActiveXObject){
req=new ActiveXObject("Microsoft.XMLHTTP");
if(req){
req.onreadystatechange=callback;
req.open("GET",url.true);
req.send(null);
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询