AJAX(二)--核心对象XMLHttpRequest

          AJax的核心对象在1988年就已经集成于IE中了,随后在各种主流浏览器中也陆续开始得到支持。XMLHttpRequest对象已经在大多数的浏览器中使用,这个对象是Ajax兴起的客观基础以及前提条件。

         XMLHttpRequest强大之处就是允许开发者在JavaScript中以异步的方式向服务器发出HTTP请求并得到响应。让客户端可以在任何时候与服务器进行通信,并且不仅限于在整个页面提交的时候。同时,异步不会阻塞用户的当前操作,用户等待的时候仍然可以进行其他的操作。

        创建XMLHttpRequest对象:

        Var xmlHttp=new XMLHttpRequest();

 

        老版本的IE使用Activex对象:

        Var xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

 

         //为了避免不支持的现象。

         

Var xmlHttp;

If(window.XMLHttpRequest)

{

           //对于新版本的浏览器。

xmlHttp=new XMLHttpRequest();

}

Else

{

           //对于旧版本的浏览器。

xmlHttp= new ActiveXObject("Microsoft.XMLHTTP");

}

 


 

将请求发送到服务器:

 

             用XMLHttpRequest对象的open()和send()方法:

             xmlHttp.open("GET","txtName.text",true);

 

         常用方法:

 

  

 方法

描述

Open(method,url,async)

规定请求的类型、URL以及是否异步处理请求。

method:请求的类型;get或post

url:文件在服务器上的位置。

async:true(异步)或false(同步)

Send(string)

将请求发送到服务器。

setRequestHeader(header,value)

向请求添加HTTP头。

header:规定的头名称。

value:规定的头值。

 

         属性:

属性

描述

onreadystatechange

每当readyState属性改变时,就会调用该函数。

readyState

存有XMLHttpRequest的状态。0到4变化。

0:请求未初始化。

1:服务器链接已建立。

2:请求已接受。

3:请求处理中。

4:请求已完成,且响应已就绪。

status

200:"ok"

404:为找到页面。

           请求服务的类型:

           Get与Post相比较:

           大部分情况使用Get。

           特殊情况使用Post:

  • 无法使用缓存文件(更新服务器上的文件或数据库)
  • 向服务器发送大量数据(post没有数据量限制)
  • 发送包含未知字符的用户输入时,post比get更稳定更可靠。

 

 

        小结:

        整个过程是:

       

        创建XMLHttpRequest 对象 -> 指定发送地址及发送方法 -> 发送请求 -> 指定处理方法并处理返回结果。但是需要注意,我们正常的思路理解是这样的,可是onreadystatechange事件句柄指定处理方法需要在发送之前就指定好,否则无法处理状态变化事件。

       所以我们应该按照下面的流程:创建XMLHttpRequest 对象 -> 指定发送地址及发送方法 -> 指定状态变化处理方法 -> 发送请求,请求发送后状态变化了就会自动调用指定的处理方法。

 

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值