加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ajax学习

发布时间:2020-12-15 21:59:10 所属栏目:百科 来源:网络整理
导读:解决问题: 在非异步网站中,当用户进行请求时,只有当服务器响应后,页面重新绘制,用户才能继续操作,其交互性及用户体验极差 Ajax(异步请求): 在进行请求之后不用等待服务器的响应,可以继续后续的操作,有很好的用户体验 Ajax对象:XMLHttpRequest 由

解决问题:

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

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");

}

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读