AJAX(二)--核心对象XMLHttpRequest

前端之家收集整理的这篇文章主要介绍了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 对象 -> 指定发送地址及发送方法 -> 指定状态变化处理方法 -> 发送请求,请求发送后状态变化了就会自动调用指定的处理方法

原文链接:https://www.f2er.com/ajax/166775.html

猜你在找的Ajax相关文章