首頁 web前端 js教程 对xmlHttp对象方法和属性的理解_基础知识

对xmlHttp对象方法和属性的理解_基础知识

May 16, 2016 pm 06:11 PM
物件方法 屬性

1  客户端可以通过xmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使用文档对象模型(DOM)处理回应。

1.1 我的理解:

  1. 用户的每次操作,都会有数据产生。
  2. 通过DOM或者JS编写对数据进行封装,或者浏览器自身对http协议的一些数据进行封装。
  3. 通过xmlHttp对象的一些方法,传入数据参数,向http服务器发送请求。
  4. 返回结果通过DOM进行处理。

2  xmlHttp对象的成员。

2.1 属性

  1. onreadystatechange:readyState属性值发生改变时,触发的事件处理句柄。

例子:xmlHttp.onreadystatechange = functionHandler;

   function functionHandler() {

if(xmlHttp.readyState == 4) {

alert("readyState状态为4时,弹出此窗口!!!");

}

  }

//句柄只有方法名称,没有这对“()”括号。赋值时要注意理解。

  1. readyState:这个属性表示状态;总共有五种状态:

0 (未初始化)

对象已建立,但是尚未初始化(尚未调用open方法)

1 (初始化)

对象已建立,尚未调用send方法

2 (发送数据)

send方法已调用,但是当前的状态及http头未知

3 (数据传送中)

已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误,

4 (完成)

数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据

// 因为xmlHttp的编写方式固定,因此每一个步骤都会伴随着状态的改变,因此时刻监听事件处理句柄,执行相应的逻辑。

代码执行顺序:

var  xmlHttpReq = new ActiveXObject("MSXML2.XMLHTTP.3.0");

xmlHttpReq.open("GET", "http://localhost/test.xml", false);

xmlHttpReq.send();

alert(xmlHttpReq.responseText);

 

2.2 方法

  1. open(Method, Url, Syn, User, Password);

创建一个新的xmlHttp对象时,实际上就是创建一个http请求。

此方法指定请求的方式(GET/POST/PUT/PROPFIND) URL、异步(默认情况为true)、验证信息。

采用异步方式(true)时,状态改变时会调用onreadystatechange属性指定的回调函数。

  1. send();

此方法的同步或异步方式取决于open方法中的Syn参数,如果Syn == false,此方法将会等待请求完成或者超时时才会返回,如果Syn == true,此方法将立即返回。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

深入理解Go語言中的類別方法和物件方法 深入理解Go語言中的類別方法和物件方法 Apr 03, 2024 pm 09:27 PM

深入理解Go語言中的類別方法和物件方法

如何在Python中取得整數位面量屬性而不是SyntaxError? 如何在Python中取得整數位面量屬性而不是SyntaxError? Aug 20, 2023 pm 07:13 PM

如何在Python中取得整數位面量屬性而不是SyntaxError?

Python的dir()函數:查看物件的屬性和方法 Python的dir()函數:查看物件的屬性和方法 Nov 18, 2023 pm 01:45 PM

Python的dir()函數:查看物件的屬性和方法

如何在Java中使用Gson重命名JSON的屬性? 如何在Java中使用Gson重命名JSON的屬性? Aug 27, 2023 pm 02:01 PM

如何在Java中使用Gson重命名JSON的屬性?

Win11磁碟屬性未知怎麼辦 Win11磁碟屬性未知怎麼辦 Jul 03, 2023 pm 04:17 PM

Win11磁碟屬性未知怎麼辦

C++ 成員函數詳解:物件方法在 OOP 中的角色與職責 C++ 成員函數詳解:物件方法在 OOP 中的角色與職責 Apr 30, 2024 am 09:33 AM

C++ 成員函數詳解:物件方法在 OOP 中的角色與職責

CSS中bottom屬性語法 CSS中bottom屬性語法 Feb 21, 2024 pm 03:30 PM

CSS中bottom屬性語法

position有哪些屬性 position有哪些屬性 Oct 10, 2023 am 11:18 AM

position有哪些屬性

See all articles