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

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值