Ajax

1、Ajax 简介

  Ajax (Asynchronous JavaScript And XML,异步 JavaScript 和 XML)。通过 Ajax 可以向服务器发送请求,在不阻塞页面的情况下进行数据交互,也可以理解为异步数据传输。使用 Ajax 可以实现局部刷新,减少了不必要的数据量,大大提高了用户的体验,缩短了用户的等待的时间,使得 web 应用程序更小,更快,跟友好。

    var xhr;
    if(window.XMLHttpRequest){ // 新建 XMLHttpRequest 对象
        xhr = new XMLHttpRequest();
    } else if(window.ActiveXObject){ // 兼容 IE7 以下
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }            
    xhr.onreadystatechange = function(){ // 状态发生变化时,函数被回调
            if(xhr.readyState == 4){ // 成功完成
                if(xhr.status >= 200){ // 判断响应结果
                    // 数据请求成功处理
                }
            }
    }
    xhr.open('get','./json',true);  // 初始化请求    
    xhr.send(); // 发生请求   

2、XMLHttpRequest 对象

(1)open 方法
  open 方法表示初始化请求,并不是发送请求。

open(method, url, async);

- method :请求方式,get 或 post ,默认为 get
- URL :请求路径,文件在服务器上的位置
- async :是否异步请求,默认为 true,异步请求。 false 同步请求

(2)readyState 属性
  readyState 属性表示请求/响应过程的当前活动阶段。

  • 0 : 未初始化。尚未调用 open 方法
  • 1 : 启动。已经调用 open 方法,但尚未调用 send 方法
  • 2 : 发送。已经调用 send 方法,当尚未接收到响应
  • 3 : 接收。已经接收到部分响应数据。
  • 4 : 完成。已经接收到全部响应数据,而且已经可以在客户端使用了。

  只要 readyState 属性的值由一个值变成另一个值。都会触发一次 readystatechange 事件。可以利用这个事件来检测每次状态变化后 readyState 的值。通常,我们只处理 readyState 值为 4 时的状态。不过,必须在调用 open 方法之前指定 onreadystatechange 事件处理程序才能确保跨浏览器兼容。

(3)responseText
  responseText 属性是作为响应主体被返回的文本。如果 readyState 小于 3 ,这个属性就是一个空字符串,当 readyState 为 3 ,这个属性返回目前已经接收的响应部分。如果 readyState 为 4 , 这个属性保存了完整的响应体。

(4)responseXML
  responseXML 如果响应的内容类型是 “text/xml” 或 “application/xml”。这个属性中将保存包含响应数据的 XML DOM 文档。

(5)status
  status 响应的 HTTP 状态。当 readyState 小于 3 的时候读取这一属性会导致一个异常。

  • 1xx : 表示通知信息, 如请求收到了或正在进行处理
  • 2xx : 表示成功, 如接受或知道了
  • 3xx : 表示重定向, 如要完成请求还必须采用进一步的行动
  • 4xx : 表示客户端的差错, 如请求中有错误的语法或不能完成
  • 5xx : 表示服务器端的错误, 如服务器失效无法完成请求

常见的 HTTP 状态有:200 表示成功;202 表示接受;400 错误的请求; 404 找不到; 301 永久性的转移了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值