English 中文(简体)
DOM - XMLHttpRequest Object
  • 时间:2024-11-03

DOM - XMLHttpRequest Object


Previous Page Next Page  

XMLHttpRequest Object在网页的客户与服务器之间建立了一种介质,可被许多文字语言所使用,如Java文、Jans、VB式和其他网络浏览器传输和操纵XML数据。

有了XMLHttpRequest,就可以更新网页的部分,而不必再上整页,在网页上填满后,请服务器接收数据,并将数据发送服务器。

Syntax

XMLHttpRequest物体可登记如下:

xmlhttp = new XMLHttpRequest();

处理所有浏览器,包括IE5和IE6,检查浏览器是否支持XMLHttpRequest,具体如下:

if(window.XMLHttpRequest) // for Firefox, IE7+, Opera, Safari, ... {
   xmlHttp = new XMLHttpRequest();
} else if(window.ActiveXObject) // for Internet Explorer 5 or 6 {
   xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}

使用XMLHttpRequest物体装载XML文档的例子可参见

Methods

下表列出了XMLHttpRequest物体——的方法。

S.No. Method & Description
1

<abort(>>><>p>>> 终止目前提出的要求。

2

<getAllResponseHeaders(>>>><>p>>> 如果没有收到任何答复,所有答复的负责人都会被送回,或完全放弃。

3

<getResponseHeader(>>>>>>

> 如果尚未收到答复,或回复中未出现过头盔,则将载有具体负责人案文的插图归还,或告无效。

4

这笔费用用于与Send方法相协调,以便向服务器发送申请。 开放式方法规定了以下参数:

    - 具体列明申请类型,即请购单或员额。

    url——是档案的地点。

    - 说明如何处理请求。 它是 b。 ,

      真的意思是,在等待Http答复的情况下,请求得到同步处理。

      虚假的意思是,在收到Http的答复后,请求得到同步处理。

    。 - 用户名称。

    pswd-为密码。

5

send(string)

>> 该请求被用于与开放式方法保持一致。

6

RequestHeader(>

>>> 标题中载有发出请求的标签/数值。

Attributes

下表列出了XMLHttpRequest物体的属性:

S.No. Attribute & Description
1

这是一项基于事件的财产,在每一个国家变化中都作了规定。

2

这说明了XMLHttpRequest物体的现状。 现有五种现存财产:

    readyState = 0, 即申请尚未启动。

    readyState = 1 - 提出请求。

    readyState = 2-quest is sent.

    readyState = 3——申请正在处理。

    readyState = 4—— 请求已经完成。

3

<responseText>>><>p>> 当服务器的答复是文字文件时,该财产即予使用。

4

<responseXML>>

>> 当服务器的答复是XML文件时,就使用这一财产。

5

Gives the status of the Http request object as a number. For example, "404" or "200".
6

把Http申请的标语作为示意图。 例如,“不成立”或“科索沃”。

Examples

node.xml 内容如下:

<?xml version = "1.0"?>
<Company>
   <Employee category = "Technical">
      <FirstName>Tanmay</FirstName>
      <LastName>Patil</LastName>
      <ContactNo>1234567890</ContactNo>
      <Email>tanmaypatil@xyz.com</Email>
   </Employee>
   
   <Employee category = "Non-Technical">
      <FirstName>Taniya</FirstName>
      <LastName>Mishra</LastName>
      <ContactNo>1234667898</ContactNo>
      <Email>taniyamishra@xyz.com</Email>
   </Employee>
   
   <Employee category = "Management">
      <FirstName>Tanisha</FirstName>
      <LastName>Sharma</LastName>
      <ContactNo>1234562350</ContactNo>
      <Email>tanishasharma@xyz.com</Email>
   </Employee>
</Company>

Retrieve specific information of a resource file

下面举例说明了如何利用getResponse Header()和readState等方法重新检索资源档案的具体信息。

<!DOCTYPE html>
<html>
   <head>
      <meta http-equiv = "content-type" content = "text/html; charset = iso-8859-2" />
         <script>
            function loadXMLDoc() {
               var xmlHttp = null;
               if(window.XMLHttpRequest) // for Firefox, IE7+, Opera, Safari, ... {
                  xmlHttp = new XMLHttpRequest();
               }
               else if(window.ActiveXObject) // for Internet Explorer 5 or 6 {
                  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
               }

               return xmlHttp;
            }

            function makerequest(serverPage, myDiv) {
               var request =  loadXMLDoc();
               request.open("GET", serverPage);
               request.send(null);

               request.onreadystatechange = function() {
                  if (request.readyState == 4) {
                     document.getElementById(myDiv).innerHTML = request.getResponseHeader("Content-length");
                  }
               }
            }
      </script>
   </head>
   <body>
      <button type = "button" oncpck="makerequest( /dom/node.xml ,  ID )">Cpck me to get the specific ResponseHeader</button>
      <span id = "ID">Specific header information is returned.</span>
   </body>
</html>

Execution

将这一档案作为elementattribute_removeAttributeNS.htm放在服务器上(该文档和Node_ns.xml在服务器上应走同样的道路)。 我们将获得以下产出:

Before removing the attributeNS: en
After removing the attributeNS: null

Retrieve header infomation of a resource file

下面举例说明如何利用getAllResponseHeaders()这一方法检索资源档案目录。 使用ready State

<!DOCTYPE html>
<html>
   <head>
      <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
      <script>
         function loadXMLDoc() {
            var xmlHttp = null;

            if(window.XMLHttpRequest) // for Firefox, IE7+, Opera, Safari, ... {
               xmlHttp = new XMLHttpRequest();
            } else if(window.ActiveXObject) //  for Internet Explorer 5 or 6 {
               xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }

            return xmlHttp;
         }

         function makerequest(serverPage, myDiv) {
            var request =  loadXMLDoc();
            request.open("GET", serverPage);
            request.send(null);
            request.onreadystatechange = function() {
               if (request.readyState == 4) {
                  document.getElementById(myDiv).innerHTML = request.getAllResponseHeaders();
               }
            }
         }
      </script>
   </head>
   <body>
      <button type = "button" oncpck = "makerequest( /dom/node.xml ,  ID )">
         Cpck me to load the AllResponseHeaders</button>
      <span id = "ID"></span>
   </body>
</html>

Execution

将这一文件作为http://allheader.html在服务器上(该文档和Node.xml应在服务器上走同样的道路)。 我们将获得以下产出(取决于浏览器)——

Date: Sat, 27 Sep 2014 07:48:07 GMT Server: Apache Last-Modified: 
      Wed, 03 Sep 2014 06:35:30 GMT Etag: "464bf9-2af-50223713b8a60" Accept-Ranges: bytes Vary: Accept-Encoding,User-Agent 
      Content-Encoding: gzip Content-Length: 256 Content-Type: text/xml 
Advertisements