JS:ajax

来源:互联网 发布:巨鹿之战 知乎 编辑:程序博客网 时间:2024/05/21 02:37

什么是ajax?

AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。应用多种领域,如:登录时无需刷新页面就可知道当前密码错误,金融网站的股市的实时刷新等。

如何编写?

先创建一个ajax对象XMLHttpRequest注意IE6与IE5下使用的对象是ActiveXObject("Microsoft.XMLHTTP")。故需做兼容处理。
if(window.XMLHttpRequest) {
var oAjax = new XMLHttpRequest;

else {
var oAjax = new ActiveXObject('Microsoft.XMLHTTP');
}

之后使用open(方法文件名异步传输)方法来连接服务器。
oAjax.open('GET', url, true);
此处我们先不填写文件的路径,等调用时,我们再来填写。

使用send()发送用户的请求
send();

最后获取服务器的返回值onreadystatechange,此函数作用为存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。

而readyState又是什么呢?值又会怎样变化呢?
XMLHttpRequest 的状态。从 0 到 4 发生变化。
0:请求未初始化
1:服务器连接已建立
2:请求已接收
3:请求处理中
4:请求已完成,且响应已就绪

当oAjax的readyState属性为4 时就说明过程已经完成准备响应了。

而当oAjax的status属性为200 时就说明连接成功,并成功读取到了文件。其他情况便是发生了错误。

将以上写成一个代码。

function ajax1(url,fnsucc,fnfaild) {
if(window.XMLHttpRequest) {
var oAjax = new XMLHttpRequest;

else {
var oAjax = new ActiveXObject('Microsoft.XMLHTTP');
}


//2.连接服务器,open(方法,url,异步处理)
oAjax.open('GET', url, true);


//3.发出请求
oAjax.send();


//4.返回文件
oAjax.onreadystatechange = function() {
if(oAjax.readyState == 4) { //表明过程已经完成
if(oAjax.status == 200) {
//alert('成功:' + oAjax.responseText);
fnsucc(oAjax.responseText);
} else {
//alert('失败:' + oAjax.status);
fnfaild(oAjax.status);
}
}
}
}

这样我们就可以调用这个函数了。
谢谢观看。
  • 0:
0 0
原创粉丝点击