微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ajax学习

解决问题:

在非异步网站中,当用户进行请求时,只有当服务器响应后,页面重新绘制,用户才能继续操作,其交互性及用户体验极差

Ajax(异步请求):

在进行请求之后不用等待服务器的响应,可以继续后续的操作,有很好的用户体验

Ajax对象:XMLHttpRequest

由于不同的浏览器声明该对象的方法式不一样,so,在声明时需要做些处理

现在浏览器主要分为IE和非IE浏览器

so:
var xmlHttp = false;

try {
xmlHttp = new ActiveXObject("MSEMl2.XMLHTTP");
//alert('1.2');
}
catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
//alert('Microsoft');
}
catch (e) {
xmlHttp = false;
}
}
if (!xmlHttp && typeof (XMLHttpRequest) != 'undefined') {
xmlHttp = new XMLHttpRequest();
//alert('Other');
}


XMLHttpRequest的方法属性

open():建立到服务器的新请求。

send():向服务器发送请求。

abort():退出当前请求。

readyState:提供当前HTML的就绪状态。

responseText:服务器响应的返回文本。

onreadstatechange:后面跟上函数方法名称,当HTTP状态改变时,执行该方法

Ajax的沙箱模式:

这是一个不可跨域模式,如:该脚本在www.AAA.com上,那么就只能想这个服务器发送请求。

HTTP的5中状态:

0:请求没有发出(在调用open()之前)

1:请求已经建立但还没有发出(调用send()之前)。

2:请求已经发出正在处理。

3:服务器已处理相应,但还未完成。

4:响应已完成,并且可以使用。

服务器端的响应:

服务器端的响应分为:返回客户期望数据和未返回客户期望的数据

未返回客户的期望数据的情况:

404:输入了错误的URL

403:访问的数据受保护

401:禁止访问

返回期望数据的情况:

200:表示一切顺利

SO,处理响应应为:

function update()

{

if(xmlHttp.readyState==4&&xmlHttp.status==200)

{

alter("AAAA");

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐