XMLHttpRequest中文参考手册

合集下载

XMLHttpRequest 对象详解

XMLHttpRequest 对象详解

XMLHttpRequest 对象详解一、XMLHttpRequest 对象概述XMLHttpRequest是整个Ajax技术中的核心,缺少了它Ajax技术就无法成为一个有机的整体,将土崩瓦解。

Ajax赖以生存的核心就是异步发送请求。

1999年上半年,Microsoft 在IE 5.0 中首次使用了这种新技术,使用这种新技术,浏览者不必使用Web页跳转或表单提交来发送请求,可以直接从界面中发送请求到服务器,也可从服务器读取数据。

以前这种直接与服务器通信的实现方式仅有iframe,这个功能相当重要,可减少无状态连接的痛苦,还可减少下载冗余的html代码,从而提高响应速度。

于是Mircosoft 就发布了XMLHTTP 的ActiveX 对象,让开发者也能异步与服务器进行交互。

二、XMLHttpRequest的方法和属性abort() 停止发送当前请求。

getAllResponseHeaders(): 获取服务器返回的全部响应头。

getResponseHeader(“headerLabel”): 根据响应头的名字,获取对应的响应头。

open (“method” , “URL”,[asyncFlag],[userName],[password]);建议与服务器的URL连接,并设置请求的方法,以及是否使用异步请求。

如果远程服务需要用户名密码,则提供对应的用户名和密码。

send(content):发送请求,其中content 是请求的参数。

setRequestHeader(“label”,”value”):在发送请求之前,先设置请求头。

示例://定义了XMLHttpRequest对象var xmlrequest;//完成XMLHttpRequest对象的初始化function createXMLHttpRequest(){if(window.XMLHttpRequest){//DOM 2浏览器xmlrequest = new XMLHttpRequest();}else if (window.ActiveXObject){// IE浏览器try{xmlrequest = new ActiveXObject("Msxml2.XMLHTTP");}catch (e){try{xmlrequest = new ActiveXObject("Microsoft.XMLHTTP");}catch (e){}}}}//补充说明:Xmlrequest创建时判断浏览器支持javascript的类型的原因是,各种浏览器对JavaScript的支持不一样..所以XmlHttpRequest对象的产生方式也不一样.比如IE.他支持的是ActiveX的方式.["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XM LHttp","Microsoft.XMLHttp"];这些是他ActiveX的版本.而有些浏览器.象FireFox,浏览器本身有对XmlHttpRequest的支持.浏览器有内置对象.所以用"xmlHttp = new XMLHttpRequest(); "就可以了if(window.XMLHttpRequest)是判断浏览器是否内置XmlHttpRequest对象//补充说明结束//事件处理函数,当下拉列表选择改变时,触发该事件function change(id){//初始化XMLHttpRequest对象createXMLHttpRequest();//设置请求响应的URLvar uri = "second.jsp?id=" + id;//打开与服务器响应地址的连接xmlrequest.open("POST", uri, true);//设置请求头xmlrequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");//设置处理响应的回调函数xmlrequest.onreadystatechange = processResponse;//发送请求xmlrequest.send(null);}//定义处理响应的回调函数function processResponse(){//响应完成且响应正常if (xmlrequest.readyState == 4){if (xmlrequest.status == 200){// 信息已经成功返回,开始处理信息var headers = xmlrequest.getAllResponseHeaders();//通过警告框输出请求头alert("请求头的类型:" + typeof headers + "\n"+ headers);//在页面输出所有请求头document.getElementById("output").innerHTML = headers;}else{//页面不正常window.alert("您所请求的页面有异常。

Javascript在浏览器环境中(七)XMLHttpRequest

Javascript在浏览器环境中(七)XMLHttpRequest

Javascript在浏览器环境中(七)XMLHttpRequestJavascript 在浏览器环境中 (七) XMLHttpRequest博客分类: Javascript浏览器JavaScript IE Ajax XMLXMLHttpRequestXMLHttpRequest是⼀个函数,⽤来创建⼀个http请求。

最初XHR是IE通过ActiveX对象实现的。

以后各个浏览器都开始⽀持了。

现在流⾏的AJAX就是通过XMLHttpRequest对象来实现的。

总的来说ajax就是不必刷新整个页⾯⽽获取新的内容的⼀种⽅法。

通过ajax我们可以做类似桌⾯的程序。

AJAX:Asynchronous Javascript and XML.Asynchronous,向服务器发个请求,并不⽤等待返回。

但是它可以做其他的事情并且通过⼀个事件来得知有⼀个相应返回。

Javascript,我们通过javascript来创建⼀个XHR对象。

XML,因为最初的开发⼈员都是⽤XHR请求⼀个XML⽂档。

把它作为数据返回到页⾯上。

现在⽐较流⾏⽤JSON的格式。

⽤XHR⾮常简单只需要两个步骤1. 发出⼀个请求,创建⼀个XHR对象,并且给它⼀个监听器。

2. 处理响应,事件的监听器能得知响应的返回。

这样代码就能处理这个响应了。

发送⼀个请求为了⽤于演⽰,以下的代码在各个浏览器可能不太⼀样。

第⼀步创建⼀个XHR对象Js代码1. var xhr = new XMLHttpRequest();第⼆步给readystatechange添加⼀个监听器。

Js代码1. xhr.onreadystatechange = myCallback;第三步调⽤XHR对象的open⽅法Js代码1. xhr.open('GET', 'somefile.txt', true);第⼀个参数是HTTP请求的类型,⼀般都是post和get。

Ajax菜鸟学习系列2-核心对象XMLHttpRequest

Ajax菜鸟学习系列2-核心对象XMLHttpRequest

XMLHttpRequest的杀手锏XMLHttpRequest 对象用于在后台与服务器交换数据,可以不需要重新加载页面而达到更新网页局部的目的,根据Ajax的定义(是一种在无需重新加载整个网页的情况下,能够更新局部网页的技术)可知,该对象是Ajax的核心。

用户名校验,两种方式实现传统方式:当点击“检验”按钮时,跳转到另一个页面(代码见Classic.html、ClassicServer.java后台代码不是重点能看懂就行)Classic.html<html><head><title></title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body>校验用户名是否存在的例子<br/><form action="ClassicServer" method="GET">用户名:<input type="text" name="name"/> <input type="submit" value="检验"/></form></body></html>ClassServer.javaimport java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/**** @author TCH*/public class ClassicServer extends HttpServlet {/*** Processes requests for both HTTP* <code>GET</code> and* <code>POST</code> methods.** @param request servlet request* @param response servlet response* @throws ServletException if a servlet-specific error occurs* @throws IOException if an I/O error occurs*/protected void processRequest(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {try{response.setContentType("text/html;charset=UTF-8");PrintWriter out = response.getWriter();String old = request.getParameter("name");if(old == null || old.length() == 0){out.println("用户名不能为空");} else{String name = new String(old.getBytes("ISO8859-1")); if(name.equals("wangxingkui")){out.println("用户名[" + name + "]已经存在,请使用其他用户名");} else{out.println("用户名[" + name + "]尚未存在,可以使用该用户名注册");}}out.println("<br/><ahref=\"classic.html\">返回校验页面</a>");} catch(Exception e){e.printStackTrace();}}/*** Handles the HTTP* <code>GET</code> method.** @param request servlet request* @param response servlet response* @throws ServletException if a servlet-specific error occurs* @throws IOException if an I/O error occurs*/@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {processRequest(request, response);}/*** Handles the HTTP* <code>POST</code> method.** @param request servlet request* @param response servlet response* @throws ServletException if a servlet-specific error occurs* @throws IOException if an I/O error occurs*/@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {processRequest(request, response);}/*** Returns a short description of the servlet.** @return a String containing servlet description*/@Overridepublic String getServletInfo() {return "Short description";}// </editor-fold>}ajax方式:校验过程中,始终在一个页面,只是页面的反馈内容更新了。

XMLHttpRequest

XMLHttpRequest

/xmlhttp/XMLHttpRequest.htmlXMLHttpRequest说明:Web圈提供的解释:XMLHTTPRequest是由一组方法和属性组成的对像.是ajax技术的核心.所有的异步交互和所谓的局部刷新都建立在XMLHTTPRequest基础之上.但经过发展几乎所有的现代浏览器都支持XMLHTTPRequest对像,不过在不同的浏览器中创建该对像的方法略有不同.利用 XMLHTTPRequest神奇之处就是无需刷新网页便可更改网页中的内容.如果你想要在你的网页中实现这种效果,就必须利用JavaScript或Jscript也可以使用VBScript来创建该对像,然后调用该对像的各个属性和方法来实现无刷新效果.我来简单说下XMLHTTPRequest对像的工作原理:首先我们利用JavaScript来创建XMLHTTPRequest对像.当对像成功创建以后.调用open方法来指定要请求的服务端网页,以及请求方式.然后再通过send方法将请求发送出去.在这个过程中如果不出现错误,那和我们就可以接收服务器端返回的数据了,返回的数据通常可以用两种方法来处理.一是将返回的数据作为字符串处理,二是将返回的数据作为XML格式来处理.字符串处理使用responseText方法,XML 处理使用responseXML方法.数据接收完毕,我们可以使用JavaScript和Dom 将数据处理好显示在网页当中.ok 了,XMLHTTPRequest对像的工作流程大致是这样,其实在请求和接收数据这间会有很多事发生.我希望各位读者仔细的阅读一下 XMLHTTPRequest对像的各个属性和方法,这些属性和方法会告诉你.如果在请求的过程中发生了错误,我们该如何控制?如果请求成功,数据却没有传回,我们又该怎么做?我在这就不一一介绍了,我会在下面给出一个具体的实例,相信会有收获!*如果您觉得解释有误或不够到位,您可以点击按扭进行更正或补充语法:xmlHttp=new activeXObject("Microsoft.XMLHTTP"); 注意这个语法只支持IE返回值:xmlHttp:返回对XMLHTTPRequest对像的引用.参数new:创建一个新对像.activeXObject:创建对像,将新创建的对像赋值给变量.Microsoft.XMLHTTP:在IE下的XMLHTTPRequest对像.注意该参数只针对IE浏览器有效,至于FireFox或其他浏览器的语法.我会在下面实例中写出.XMLHttpRequest属性readyState:onreadystatechange:status:statusText:responseXML:responseText:∙responseStream:∙responseBody:XMLHttpRequest方法open:open说明:Web圈提供的解释:XMLHTTPRequest的open方法用来创建一个请求.并指定请求方式和被请求的网页.以及设定是同步或是异步请求..但此时并未发送请求.其功能与传统表单的method action类似.点击这里XMLHTTPRequest查看实例*如果您觉得解释有误或不够到位,您可以点击按扭进行更正或补充语法:xmlhttp.open(method,url,async,user,pass);参数method:指定请求方式.有以下几种post,get,put及propeindurl:指定要请求的服务端网页.可以是绝对路径也可以是相对路径async:布尔值.指定请求是否为异步.两种选择true或falseuser:用户名.当服务器要求输入用户名时指定.一般不用pass:密码.当服务器要求输入密码时指定.很少用open实例与open相关内容:∙XMLHttpRequestsend:send说明:Web圈提供的解释:XMLHTTPRequest对像的send方法可以用来提交一个请求.前题是你必须正确的设置好了open方法.其功能和传统的表单提交基本一样.提示:在请求当中.如果你不需要传递数据.在IE里xmlhttp.send()这种写法或许没问题.但在FireFox里会报错.xmlhttp.send(null)没有数据提交时用null来代替.这样就没有问题了点击这里XMLHTTPRequest观看实例*如果您觉得解释有误或不够到位,您可以点击按扭进行更正或补充语法:xmlhttp.send(param);参数xmlhttp:变量类型,对XMLHTTPRequest对象的引用.param:你想要发送的数据.可以是变量类型.也可以直接用字符串.send实例与send相关内容:∙XMLHttpRequestgetAllResponseHeaders:getAllResponseHeaders说明:Web圈提供的解释:getAllResponseHeaders可以获取响请求的http头信息.所谓的头信息其实就是服务端的基本配置信息.其中包括:服务端使用的IIS版本,服务端网站使用的是什么程序,服务端返回的内容类型.服务端可以接受的数据请求类型,请求的网页最后修改时间.包括响应时间,以及响应内容的长度.值得注意的是.必须当调用send方法以后才能使用getAllResponseHeaders方法.具体请参看下面实例*如果您觉得解释有误或不够到位,您可以点击按扭进行更正或补充语法:str=xmlhttp.getAllResponseHeaders();返回值:str:返回对http头请求的详细信息.文本形式.参数xmlhttp:变量,对象类型.对XMLHTTPRequest对像的引用getAllResponseHeaders实例<html><title>XMLHTTPRequest对像的getAllResponseHeaders方法实例演示</title></head><body><script language="javascript">var _xmlhttp; //xmlhttpRequest对像的全局变量//在IE中创建xmlhttpRequest,适用于IE5.0以上所有版本var msXmlhttp = new Array("Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP","Microsoft.XMLHTTP");for(var i=0; i<msXmlhttp.length; i++){try{_xmlhttp=new ActiveXObject(msXmlhttp[i]);}catch(e){_xmlhttp=null;}} //循环创建基于IE浏览器的xmlhttp.结束//如果非IE浏览器,则创建基于FireFox等浏览器的xmlhttpRequestif(!_xmlhttp && typeof XMLHttpRequest != "undefined"){_xmlhttp=new XMLHttpRequest();}_xmlhttp.open("get","back.xml",true);_xmlhttp.send();alert(_xmlhttp.getAllResponseHeaders());</script><h2>该实例返回服务端的各种信息,响应的文本类型,内容长度,最后修改时间等等...</h2></body></html>abort:abort说明:Web圈提供的解释:abort方法可以用来取消当前的请求.也可以理解成释放XMLHTTPRequest对像.使对像回到未初始化状态.你可以在特定的情况下使用该方法.例如在返回数据中发现异常时调用该方法来取消当前的请求.我在下面的例子中.当readyState状态为1时取消请求.*如果您觉得解释有误或不够到位,您可以点击按扭进行更正或补充xmlhttp.abort();参数xmlhttp:变量,对像类型.XMLHTTPRequest对像的引用abort实例<html><head><title>XMLHTTPRequest对像的abort方法实例</title></head><body>我们准备一个空的div.把返回的数据填充进去!<div id="str" style="border:1px solid;height:100px;"></div><script language="javascript">var _xmlhttp; //xmlhttpRequest对像的全局变量//在IE中创建xmlhttpRequest,适用于IE5.0以上所有版本var msXmlhttp = new Array("Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP","Microsoft.XMLHTTP");for(var i=0; i<msXmlhttp.length; i++){try{_xmlhttp=new ActiveXObject(msXmlhttp[i]);}catch(e){_xmlhttp=null;}} //循环创建基于IE浏览器的xmlhttp.结束//如果非IE浏览器,则创建基于FireFox等浏览器的xmlhttpRequestif(!_xmlhttp && typeof XMLHttpRequest != "undefined"){_xmlhttp=new XMLHttpRequest();}/*上面的代码成功创建了xmlhttpRequest对像.适用于所有现代浏览器*/ var url = "back.xml"_xmlhttp.open("get",url,true);//请求方式为get_xmlhttp.onreadystatechange = function(){if(_xmlhttp.readyState==1){alert("open方法已被调用");}if(_xmlhttp.readyState==2){_xmlhttp.abort();alert("XMLHTTPRequest请求被取消!");}}_xmlhttp.send(null);</script>当open方法被调用后,我们取消请求.上面的div不会有数据出现.</body></html>与abort相关内容:XMLHttpRequestsetRequestHeader:setRequestHeader说明:Web圈提供的解释:setRequestHeader方法可以用来设置XMLHTTPRequest对像请求的http头.比如说你要提交的数据类型,要提交的数据内容长度.一般情况下只有指定了open方法的请求状态为post的时候.才使用setResponseHeader方法.注意:当open方法的请求状态设置为Post类型时,你必须使用setResponseHeader设置http请求头.这只是我的理解.可能理解的还不够到位.您可以补充自己的意见.我给一段简单的示意代码出来.我在下面实例中给一段简单示意代码.仅供参考:*如果您觉得解释有误或不够到位,您可以点击按扭进行更正或补充语法:xmlhttp.setRequestHeader(param1,param2);参数参数1和参数2是相对应设置的.大家看下面介绍.param1:一般情况下可以设置三个类型.1:Content-Type-(内容类型)2:Content-Length(内容长度)3:Connection(连接关闭选项)param2:也是三种选项.分别对应param1的各个类型:Content-Type一般设置为:application/x-www-form-urlencodedContent-Length设置为:你想要提交的数据长度.Connection设置为Close.意思是说关闭连接setRequestHeader实例/*设置提交的数据类型,这里的设置可理解为:客户端提交给服务器文本内容的编码方式是URL编码,即除了标准字符外,每字节以双字节16进制前加个“%”表示.当然还有其他编码方式,如:CONTENT-TYPE:multipart/form-data*/setRequestHeader("Content-type", "application/x-www-form-urlencoded");/*设置要提交数据内容的长度.paramsSend.length是你要提交的数据的长度*/setRequestHeader("Content-length", paramsSend.length);/*关闭连接*/setRequestHeader("Connection", "close");与setRequestHeader相关内容:∙XMLHttpRequestonreadystatechange说明:Web圈提供的解释:onreadystatechange是XMLHTTPRequest对像的一个属性.该属性类似一个侦测器.会随着readyState的状态而被触发,只要readystate每改变一次状态.onreadystatechange属性就会被触发一次.因为onreadystatechange属性提供事件机制.你可以为其指定一个函数.一次完整的请求readyState会发生三到五种状态.浏览器之间会有点差异.我就不重复写例子了.大家可以到XMLHTTPRequest查看完整实例提示:你可以在例子中的_xmlhttp.onreadystatechange指定函数里第一行加上alert("ok")来测试onreadystatechang被触发了几次.*如果您觉得解释有误或不够到位,您可以点击按扭进行更正或补充语法:xmlhttp.onreadystatechange=function(){你的代码}参数xmlhttp:变量类型.对XMLHTTPRequest对像的引用=号后面的是一个自定义函数.可以自己编写.通常用来处理服务端服务回的数据.onreadystatechange实例与onreadystatechange相关内容:∙XMLHttpRequestXMLHttpRequest实例<html><head><title>简单的ajax效果</title></head><body>我们准备一个空的div.把返回的数据填充进去!<div id="str" style="border:1px solid;"></div><script language="javascript">var _xmlhttp; //xmlhttpRequest对像的全局变量//在IE中创建xmlhttpRequest,适用于IE5.0以上所有版本var msXmlhttp = new Array("Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0";,"Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP","Microsoft.XMLHTTP");for(var i=0; i<msXmlhttp.length; i++){try{_xmlhttp=new ActiveXObject(msXmlhttp[i]);}catch(e){_xmlhttp=null;}} //循环创建基于IE浏览器的xmlhttp.结束//如果非IE浏览器,则创建基于FireFox等浏览器的xmlhttpRequestif(!_xmlhttp && typeof XMLHttpRequest != "undefined"){_xmlhttp=new XMLHttpRequest();}/*上面的代码成功创建了xmlhttpRequest对像.适用于所有现代浏览器下面我们开始指定要请求的服务端网页,以及请求的方式*//*下面开始指定服务端网页和发送请求*//*定义要请求的服务端网页,为了简单明了,在这里我用的是一个xml文件.因为他不包括任何服务端程序语言.当然你可以使用asp,.net,php等文件.需要提示的是:最正统的ajax技术,都是采用xml作为数据传输格式.你可以使用各种服务端程序来生成xml 格式*/var url = "back.xml"_xmlhttp.open("get",url,true);//经过测试xml文件只能以get方式请求.但是利用程序输出的xml就可以用post//下面这句很重要建议阅读onreadystatechange属性详细解释_xmlhttp.onreadystatechange = function(){if(_xmlhttp.readyState==4){if(_xmlhttp.status==200){var xmlData=_xmlhttp.responseXML;var my_name = xmlData.getElementsByTagName("name")[0].firstChild.nodeValue; document.getElementById("str").innerHTML = my_name;}}}_xmlhttp.send(null);</script>本实例所有代码均已完成.运行实例以后你会看到上面的那个div会有内容显示出来.你可以打开这个xml文件查看其内容:<a href="/xmlhttp/back.xml">xml 文件</a></body></html>一、XMLHttpRequest 对象的方法与属性全面剖析XMLHttpRequest对象2006-11-27 09:31作者:朱先忠编译出处:天极软件责任编辑:方舟推荐:AJAX专区XMLHttpRequest对象是当今所有AJAX和Web 2.0应用程序的技术基础。

JSXMLHttpRequest原理与使用方法深入详解

JSXMLHttpRequest原理与使用方法深入详解

JSXMLHttpRequest原理与使⽤⽅法深⼊详解本⽂实例讲述了JS XMLHttpRequest原理与使⽤⽅法。

分享给⼤家供⼤家参考,具体如下:你真的会使⽤XMLHttpRequest吗?看到标题时,有些同学可能会想:“我已经⽤xhr成功地发过很多个Ajax请求了,对它的基本操作已经算挺熟练了。

”我之前的想法和你们⼀样,直到最近我使⽤xhr时踩了不少坑⼉,我才突然发现其实⾃⼰并不够了解xhr,我知道的只是最最基本的使⽤。

于是我决定好好地研究⼀番xhr的真⾯⽬,可拜读了不少博客后都不甚满意,于是我决定认真阅读⼀遍W3C的XMLHttpRequest标准。

看完标准后我如同醍醐灌顶⼀般,感觉到了从未有过的清澈。

这篇⽂章就是参考W3C的XMLHttpRequest标准和结合⼀些实践验证总结⽽来的。

Ajax和XMLHttpRequest我们通常将Ajax等同于XMLHttpRequest,但细究起来它们两个是属于不同维度的2个概念。

以下是我认为对Ajax较为准确的解释:(摘⾃)AJAX stands for Asynchronous JavaScript and XML. AJAX is a new technique for creating better, faster, andmore interactive web applications with the help of XML, HTML, CSS, and Java Script.AJAX is based on the following open standards:Browser-based presentation using HTML and Cascading Style Sheets (CSS).Data is stored in XML format and fetched from the server.Behind-the-scenes data fetches using XMLHttpRequest objects in the browser.JavaScript to make everything happen.从上⾯的解释中可以知道:ajax是⼀种技术⽅案,但并不是⼀种新技术。

xmlHttpRequest详解

xmlHttpRequest详解

AJAX核心对象-- XMLHttpRequest 对象使用详解(一)作者:Brett McLaughlin多数Web 应用程序都使用请求/响应模型从服务器上获得完整的HTML 页面。

常常是点击一个按钮,等待服务器响应,再点击另一个按钮,然后再等待,这样一个反复的过程。

有了Ajax 和XMLHttpRequest 对象,就可以使用不必让用户等待服务器响应的请求/响应模型了。

本文中,Brett McLaughlin 介绍了如何创建能够适应不同浏览器的XMLHttpRequest 实例,建立和发送请求,并响应服务器。

本文中,您将开始接触最基本和基础性的有关Ajax 的全部对象和编程方法:XMLHttpRequest 对象。

该对象实际上仅仅是一个跨越所有Ajax 应用程序的公共线程,您可能已经预料到,只有彻底理解该对象才能充分发挥编程的潜力。

事实上,有时您会发现,要正确地使用XMLHttpRequest,显然不能使用XMLHttpRequest。

这到底是怎么回事呢?Web 2.0 一瞥在深入研究代码之前首先看看最近的观点——一定要十分清楚Web 2.0 这个概念。

听到Web 2.0 这个词的时候,应该首先问一问“Web 1.0 是什么?” 虽然很少听人提到Web 1.0,实际上它指的就是具有完全不同的请求和响应模型的传统Web。

比如,到 网站上点击一个按钮或者输入搜索项。

就会对服务器发送一个请求,然后响应再返回到浏览器。

该请求不仅仅是图书和书目列表,而是另一个完整的HTML 页面。

因此当Web 浏览器用新的HTML 页面重绘时,可能会看到闪烁或抖动。

事实上,通过看到的每个新页面可以清晰地看到请求和响应。

Web 2.0(在很大程度上)消除了这种看得见的往复交互。

比如访问Google Maps 或Flickr 这样的站点(到这些支持Web 2.0 和Ajax 站点的链接请参阅参考资料)。

比如在Google Maps 上,您可以拖动地图,放大和缩小,只有很少的重绘操作。

XMLHTTPRequest的属性和方法简介

XMLHTTPRequest的属性和方法简介

XMLHTTPRequest的属性和⽅法简介⽽设计AJAX时使⽤的⼀个重要的技术(⼯具)就是XMLHTTPRequest对象了。

这⾥海啸把我学习XMLHTTPRequest对象的⼀点资料拿出来跟⼤家⼀起分享。

⽂中的资料都是海啸在学习时在⽹上收集的,如果您开过,那就再加深下印象吧!(如果您觉得侵犯了您的版权,请联系海啸。

(haixiao_yao[at]))最通⽤的定义为:XmlHttp是⼀套可以在Javascript、VbScript、Jscript等脚本语⾔中通过http协议传送或从接收 XML及其他数据的⼀套API。

XmlHttp最⼤的⽤处是可以更新⽹页的部分内容⽽不需要刷新整个页⾯。

(这个功能正是AJAX的⼀⼤特点之⼀:))来⾃MSDN的解释:XmlHttp提供客户端同http服务器通讯的协议。

客户端可以通过XmlHttp对象 (MSXML2.XMLHTTP.3.0)向http服务器发送请求并使⽤微软XML⽂档对象模型Microsoft? XML Document Object Model (DOM)处理回应。

这⾥说些题外话,其实这个东西很早就出现了,只是以前浏览器的⽀持不够,只有IE中才⽀持,所以⼤多数的WEB程序员都没有怎么⽤他,但是现在情况发⽣了很⼤地改变,Mozilla和Safari把它采⽤为事实上的标准,主流的浏览器都开始⽀持XMLHTTPRequest对象了。

但是这⾥需要重点说明的是XMLHTTPRequest⽬前还不是⼀个W3C的标准,所以在不同的浏览器上表现也稍有些区别。

对了,说到区别,我们这⾥来看看怎么来声明(使⽤)它,在使⽤XMLHTTPRequest对象发送请求和处理响应之前,我们必须要⽤ javascript创建⼀个XMLHTTPRequest对象。

(IE把XMLHTTPRequest实现为⼀个ActiveX对象,其他的浏览器[如Firefox/Safari/Opear]则把它实现为⼀个本地的javascript对象)。

详细解读XMLHttpRequest(一)同步请求和异步请求

详细解读XMLHttpRequest(一)同步请求和异步请求

详细解读XMLHttpRequest(⼀)同步请求和异步请求本⽂主要参考:XMLHttpRequest 让发送⼀个HTTP请求变得⾮常容易。

你只需要简单的创建⼀个请求对象实例,打开⼀个URL,然后发送这个请求。

当传输完毕后,结果的HTTP状态以及返回的响应内容也可以从请求对象中获取。

通过XMLHttpRequest⽣成的请求可以有两种⽅式来获取数据,异步模式或同步模式。

请求的类型是由这个XMLHttpRequest对象的open()⽅法的第三个参数async的值决定的。

如果该参数的值为false,则该XMLHttpRequest请求以同步模式进⾏,否则该过程将以异步模式完成。

两种通信模式:同步和异步请求:同步请求主线程中的同步请求会阻塞页⾯,由于对⽤户体验的糟糕效果,部分最新浏览器在主线程上的同步请求已经被弃⽤。

在极少数情况下,使⽤同步模式的XMLHttpRequests会⽐使⽤异步模式更适合。

1. 在Worker中使⽤XMLHttpRequest时,同步请求⽐异步请求更适合。

主页中代码:<script type="text/javascript">var oMyWorker = new Worker("myTask.js");oMyWorker.onmessage = function(oEvent) {alert("Worker said: " + oEvent.data);};oMyWorker.postMessage("Hello");</script>myFile.txt ( XMLHttpRequest对象同步请求的⽂件):Hello World!!包含了Worker代码:myTask.jsself.onmessage = function (oEvent) {if (oEvent.data === "Hello") {var oReq = new XMLHttpRequest();oReq.open("GET", "myFile.txt", false); // 同步请求oReq.send(null);self.postMessage(oReq.responseText);}};注意: 由于使⽤了Worker,所以该请求实际上也是异步的.可以使⽤类似的⽅法,让脚本在后台与服务器交互,预加载某些内容.查看使⽤web workers了解更多详情2. 不得不使⽤同步请求的情况在少数情况下,只能使⽤同步模式的XMLHttpRequest请求.⽐如在 window.onunload和window.onbeforeunload 事件处理函数中。

XMLHttpRequest对象五步使用法

XMLHttpRequest对象五步使用法

在Ajax应用程序中,XmlHttpRequest对象负责将用户信息以异步通信地发送到服务器端,并接收服务器返回的响应信息和数据。

XMLHttpRequest简介XMLHttpRequest可以提供不重新加载页面的情况下更新网页,在页面加载后在客户端向服务器请求数据,在页面加载后在服务器端接受数据,在后台向客户端发送数据。

XMLHttpRequest 对象提供了对 HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及普通的 GET 请求的能力。

XMLHttpRequest 可以同步或异步返回 Web 服务器的响应,并且能以文本或者一个DOM 文档形式返回内容。

尽管名为 XMLHttpRequest,它并不限于和XML 文档一起使用:它可以接收任何形式的文本文档。

XMLHttpRequest 对象是名为 AJAX 的Web 应用程序架构的一项关键功能。

XMLHttpRequest和JavascriptJavascript本身并未具备向服务器发送请求的能力,要么使用window.open()方法重新打开一个页面向服务器提交请求,要么使用XMLHttpRequest对象发送请求。

不同的是,前者是普通的即同步交互模式,而后者是异步交互方式。

XMLHttpRequest提供了一系列的属性和方法,来向服务器发送异步的http请求;在服务器处理用户请求的过程中,XMLHttpRequest通过属性的状态&#20540;来实时反映http请求所处的状态,并根据这些状态指示Javascript做相应的处理;当服务器顺利完成响应用户行为的动作、并将响应数据返回时,XMLHttpRequest提供的response系列方法,可以将这些响应数据以文本、XML Document对象、Ado Stream对象或者unsignedbyte数组的方式组装起来,提供给Javascript处理。

XMLHttpRequest的五步使用法:1、建立XMLHttpRequest对象2、注册回调函数3、使用open方法社会自和服务器端交互的基本信息4、设置发送的数据,开始和服务器端交互5、在回调函数中判断交互是否结束,响应是否正确,并根据需要过去服务器端返回的数据,更新页面内容下面我们以用户名确认来实现XMLHttpRequest的五步使用法:&lt;!DOCTYPE html&gt;&lt;html&gt;&lt;head&gt;&lt;title&gt;&lt;/title&gt;&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;var xmlhttp;function submit(){//1.创建XHLHttpRequest对象if(window.XMLHttpRequest){//alert(&quot;IE7,IE8 ,FireFox。

ajax入门基础之XMLHttpRequest对象总结

ajax入门基础之XMLHttpRequest对象总结

ajax入门基础之XMLHttpRequest对象总结ajax 入门基础之 XMLHttpRequest对象总结ajax 入门基础之 XMLHttpRequest对象总结XMLHttpRequest 供应客户端同http服务器通讯的协议一:创建IE : http_request = new ActiveXObject(Msxml2.XMLHTTP); http_request = new ActiveXObject(Microsoft.XMLHTTP);非IE: http_request = new XMLHttpRequest();二:onreadystatechange指定当readyState属性转变时的大事处理句柄语法http_request .onreadystatechange = funcMyHandler;三:readyState返回XMLHTTP恳求的当前状态变量,此属性只读,状态用长度为4的整型表示.定义如下:第1页/共17页0 (未初始化) 对象已建立,但是尚未初始化(尚未调用open方法)1 (初始化) 对象已建立,尚未调用send方法2 (发送数据) send方法已调用,但是当前的状态及http头未知3 (数据传送中) 已接收部分数据,由于响应及http头不全,这时通过responseBody和responseText猎取部分数据会消失错误,4 (完成) 数据接收完毕,此时可以通过通过responseBody和responseText猎取完整的回应数据四:responseBody返回某一格式的服务器响应数据五:responseStream以Ado Stream对象的形式返回响应信六:responseText将响应信息作为字符串返回备注变量,此属性只读,将响应信息作为字符串返回。

XMLHTTP尝试将响应信息解码为Unicode字符串,XMLHTTP默认第2页/共17页将响应数据的编码定为UTF-8,假如服务器返回的数据带BOM(byte -order mark),XMLHTTP可以解码任何UCS-2 (big or little endian)或者UCS-4 数据。

第20章 使用XMLHttpRequest对象

第20章  使用XMLHttpRequest对象

第20章 使用XMLHttpRequest 对象XMLHttpRequest 对象是Ajax 技术的核心,其主要任务是实现客房端与服务器的异步通信,缺少XMLHttpRequest 对象Ajax 技术将无从谈起。

然而,XMLHttpRequest 对象并不是独立存在的,要通过DOM 和CSS 动态操作HTML 页面元素,来实现页面的部分刷新。

20.1 XMLHttpRequest 对象XMLHttpRequest 对象和其他一样具有一定的属性和方法,在使用这些实例属性和实例方法前要首先创建XMLHttpRequest 对象实例。

20.1.1 创建XMLHttpRequest 对象由于XMLHttpRequest 对象还不是W3C 的标准,不同浏览器中其实现方式是不同的。

在Internet Explorer 7以前版本的IE 浏览器中,XMLHttpRequest 对象是以ActiveX 组件的形式实现的,而在Firefox 、Opera 等浏览器中XMLHttpRequest 对象是作为浏览器对象来提供的。

值得庆幸的是,IE7中XMLHttpRequest 对象可以作为浏览器对象使用,从而实现XMLHttpRequest 对象创建的统一。

在较老版本的IE 中创建XMLHttpRequest 对象的基本语法格式为:var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");在较新版本的IE 中创建XMLHttpRequest 对象的基本语法格式为:var xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");而在IE7以及其他非IE 浏览器中使用如下语法格式创建XMLHttpRequest 对象:var xmlHttp = new XMLHttpRequest();由于在不同浏览器中XMLHttpRequest 对象的创建方式不同,在实际开发过程必须考滤代码的兼容性。

详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度

详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度

详解XMLHttpRequest(⼆)响应属性、⼆进制数据、监测上传下载进度分析并操作 responseXML属性如果你使⽤ XMLHttpRequest 来获得⼀个远程的 XML ⽂档的内容,responseXML 属性将会是⼀个由 XML ⽂档解析⽽来的DOM 对象,这很难被操作和分析。

这⾥有五种主要的分析 XML ⽂档的⽅式:1.使⽤ XPath 定位到⽂档的制定部分。

2.使⽤ JXON 将其转换成 JavaScript 对象树。

3.⼿⼯的解析和序列化 XML 为字符串或对象。

4.使⽤ XMLSerializer 把 DOM 树序列化成字符串或⽂件。

5.如果你预先知道 XML ⽂档的内容,你可以使⽤ RegExp。

如果你⽤ RegExp 扫描时受到换⾏符的影响,你也许想要删除所有的换⾏符。

然⽽,这种⽅法是"最后⼿段",因为如果 XML 代码发⽣轻微变化,该⽅法将可能失败。

解析和操作包含 HTML ⽂档的 responseText 属性注意: 在 W3C XMLHttpRequest 规范中允许 HTML 通过 XMLHttpRequest.responseXML 属性进⾏解析。

更多详细内容请阅读HTML in XMLHttpRequest 。

如果使⽤ XMLHttpRequest 从远端获取⼀个 HTML 页⾯,则所有 HTML 标记会以字符串的形式存放在responseText 属性⾥,这样就使得操作和解析这些标记变得困难。

解析这些HTML标记主要有三种⽅式:1.使⽤ XMLHttpRequest.responseXML 属性。

2.将内容通过 fragment.body.innerHTML 注⼊到⼀个⽂档⽚段中,并遍历 DOM 中的⽚段。

3.如果你预先知道 HTML ⽂档的内容,你可以使⽤ RegExp 。

如果你⽤ RegExp 扫描时受到换⾏符的影响,你也许想要删除所有的换⾏符。

XMLHttpRequest对象的属性与方法

XMLHttpRequest对象的属性与方法

XMLHttpRequest对象的属性与⽅法XMLHttpRequest对象是Ajax的核⼼,它有很多属性和⽅法。

1,readyState属性当⼀个XMLHttpRequest对象被创⽴后,readyState属性标⽰了当前对象处于什么状态,可以通过对该属性的访问,来判读此次请求的状态然后做出相应的操作,case 0 :未初始化状态,此时,已经创建了⼀个XMLHttpRequest对象,但是还没有初始化。

Case 1:准备发送状态:此时,已经调⽤了XMLHttpRequest对象的open()⽅法,并且XMLHttpRequest对象已经准备好将⼀个请求发送到服务器。

case 2:已发送状态,此时已经通过send⽅法把⼀个请求发送到服务器,等待响应。

case 3:正在接收状态,此时已经接收到HTTP响应头部信息,但是消息体部分还没有完全接收到。

case 4:完成响应状态,此时已经完成了HttpResponse响应的接收2.responseText属性responseText属性包含客服端接收到的HTTP响应的⽂本内容,当readyState属性为0、1或2时,responseText属性包含⼀个空字符串:当readyState属性值为3时,响应中包含客服端还没完成的响应信息;当readyState属性值卫4,responseText属性才包含完整的响应信息。

3.responseXML属性只有当readyState属性为4,并且响应头部的Content-Type的MIME类型被指定为XML(text/xml或者application/xml)时,该属性才会有值并且被解析成⼀个XML⽂档,否则该属性为null。

如果是回传的XML⽂档结构不良或者未完成响应回传,该属性也会为null。

responseXML属性⽤来描述被XMLHttpRequest解析后的XML⽂档的属性。

4.status属性status属性描述了HTTP状态代码,注意,仅当readyState属性值为3(正在接受中)或者4(已加载)时,才能对此属性进⾏访问。

XMLHttpRequest对象详解

XMLHttpRequest对象详解

XMLHttpRequest对象详解1、概述2、XMLHttpRequest 的方法和属性XMLHttpRequest包含了基本的属性和方法,正是通过这些方法和属性实现了对服务器的通讯。

Ajax依赖XMLHttpRequest完成与服务器的通信。

XMLHttpRequest的基本方法如下:Abort():停止发送当前请求。

getAllResponseHeaders():获取服务器返回的全部响应头。

getResponseHeader(“headerLabel”):根据响应头的名字来获取响应头。

Open(“method”,”URL”,…):建立与服务器的连接,并设置请求的方法是否使用异步请求。

如果远程服务需要用户名,密码,则提供。

Send(content):发送请求。

setRequestHeader(“label”,”values”):在发送请求之前,先设置请求头。

看代码2/getAllResponseHeadersXMLHttpRequest的属性如下:1、onreadystatechange:用于指定XMLHttpRequest对象状态改变时的事件处理函数。

当XMLHttpRequest的状态放生改变时,该函数将被触发。

XMLHttpRequest对象有如下几种状态:0 :XMLHttpRequest对象还没有完成初始化;1 :XMLHttpRequest对象开始发送请求;2 :XMLHttpRequest对象的请求发送完成;3 :XMLHttpRequest对象开始读取服务器的响应;4 :XMLHttpRequest对象读取服务器响应结束。

2、readyState: XMLHttpRequest对象的处理状态。

3、responseText:用于获取服务器的响应文本。

4、responseXML:用于获取服务器响应的XML文档对象。

5、status:服务器返回的状态码,只有当服务器的响应已经完成时,才会有该状态码。

XMLHttpRequest对象五步使用法

XMLHttpRequest对象五步使用法

XMLHttpRequest对象五步使用法在Ajax应用程序中,XmlHttpRequest对象负责将用户信息以异步通信地发送到服务器端,并接收服务器返回的响应信息和数据。

XMLHttpRequest简介XMLHttpRequest可以提供不重新加载页面的情况下更新网页,在页面加载后在客户端向服务器请求数据,在页面加载后在服务器端接受数据,在后台向客户端发送数据。

XMLHttpRequest 对象提供了对 HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及普通的 GET 请求的能力。

XMLHttpRequest 可以同步或异步返回 Web 服务器的响应,并且能以文本或者一个DOM 文档形式返回内容。

尽管名为 XMLHttpRequest,它并不限于和XML 文档一起使用:它可以接收任何形式的文本文档。

XMLHttpRequest 对象是名为 AJAX 的Web 应用程序架构的一项关键功能。

XMLHttpRequest和JavascriptJavascript本身并未具备向服务器发送请求的能力,要么使用window.open()方法重新打开一个页面向服务器提交请求,要么使用XMLHttpRequest对象发送请求。

不同的是,前者是普通的即同步交互模式,而后者是异步交互方式。

XMLHttpRequest提供了一系列的属性和方法,来向服务器发送异步的http请求;在服务器处理用户请求的过程中,XMLHttpRequest通过属性的状态值来实时反映http请求所处的状态,并根据这些状态指示Javascript做相应的处理;当服务器顺利完成响应用户行为的动作、并将响应数据返回时,XMLHttpRequest提供的response系列方法,可以将这些响应数据以文本、XML Document 对象、Ado Stream对象或者unsignedbyte数组的方式组装起来,提供给Javascript处理。

window.XMLHttpRequest详解转

window.XMLHttpRequest详解转

window.XMLHttpRequest详解转XMLHttpRequest对象是当今所有AJAX和Web 2.0应用程序的技术基础。

尽管软件经销商和开源社团现在都在提供各种AJAX框架以进一步简化XMLHttpRequest对象的使用;但是,我们仍然很有必要理解这个对象的详细工作机制。

一、引言AJAX利用一个构建到所有现代浏览器内部的对象-XMLHttpRequest-来实现发送和接收HTTP请求与响应信息。

一个经由 XMLHttpRequest对象发送的HTTP请求并不要求页面中拥有或回寄一个<form>元素。

AJAX中的"A"代表了"异步",这意味着XMLHttpRequest对象的send()方法可以立即返回,从而让Web页面上的其它HTML/JavaScript继续其浏览器端处理而由服务器处理HTTP请求并发送响应。

尽管缺省情况下请求是异步进行的,但是,你可以选择发送同步请求,这将会暂停其它Web页面的处理,直到该页面接收到服务器的响应为止。

微软在其Internet Explorer(IE) 5中作为一个ActiveX对象形式引入了XMLHttpRequest对象。

其他的认识到这一对象重要性的浏览器制造商也都纷纷在他们的浏览器内实现了 XMLHttpRequest对象,但是作为一个本地JavaScript对象而不是作为一个ActiveX对象实现。

而如今,在认识到实现这一类型的价值及安全性特征之后,微软已经在其IE 7中把XMLHttpRequest实现为一个窗口对象属性。

幸运的是,尽管其实现(因而也影响到调用方式)细节不同,但是,所有的浏览器实现都具有类似的功能,并且实质上是相同方法。

目前,W3C组织正在努力进行XMLHttpRequest对象的标准化,并且已经发行了有关该W3C规范的一个草案。

本文将对XMLHttpRequest对象API进行详细讨论,并将解释其所有的属性和方法。

XMLHttpRequest中文参考手册

XMLHttpRequest中文参考手册

XMLHttpRequest提提提户端端http 服务器器讯的协协Example下下的下码是是JScript 中创建建个XMLHTTP 对象并从服务器请求建个XML 文档。

服务器器器XML 文档并显示。

是在IE 的浏浏器中器器器器new XMLHttpRequest()来创建对象器象下象vbscript 象备注提户端端端器过XmlHttp 对象(MSXML2.XMLHTTP.3.0)向http 服务器发送请求并使器使软XML 文档对象象型Microsoft® XML Document Object Model (DOM)处理器应 。

参考XMLHTTPRequest 成员XMLHTTP 对象参考XMLHTTPRequest 对象XMLHTTPRequest 成员onreadystatechange readyState responseBody responseStream responseText responseXML status statusText abortgetAllResponseHeaders getResponseHeader open sendsetRequestHeaderCopyright © 2005 . All rights reserved.禁止任何形式的禁止任何形式的转载转载转载!!XMLHttpRequest 成员属性* 表表表属性性W3C 文档对象象象象扩展.方法事件无参考XMLHTTPRequestCopyright © 2005 . All rights reserved.禁止任何形式象禁止任何形式象转载转载转载!!XMLHTTP 对象参考XMLHTTPRequest 对象XMLHTTPRequest 成员onreadystatechange readyState responseBody responseStream responseText responseXML status statusText abortgetAllResponseHeaders getResponseHeader open sendsetRequestHeaderonreadystatechange*指指当readyState 属性性变变象事件处理理理理只写readyState 返返当前请求象状态,只读.responseBody 将返应信信信文信unsigned byte 数组形式返返.只读responseStream 信Ado Stream 对象象形式返返响应信信理只读responseText 将响应信信信为字字字返返.只读responseXML 将响应信信信式信为Xml Document 对象并返返,只读status 返返当前请求象http 状态态.只读statusText返返当前请求象响应行状态,只读onreadystatechange指指当readyState 属性性变变的的的处理理理语法Example如如的如如如如当XMLHTTPRequest 对象的readyState 属性性变变变用HandleStateChange 函数,当数据据据据毕后后readystate == 4))页面面的面个按钮将被被被备注)属性性写,为W3C 文档对象象象的扩展.XMLHTTP 对象参考XMLHTTPRequest 对象XMLHTTPRequest 成员onreadystatechange readyState responseBody responseStream responseText responseXML status statusText abortgetAllResponseHeaders getResponseHeader open sendsetRequestHeader参考readyState 属性Copyright © 2005 . All rights reserved.禁止任何形式的禁止任何形式的转载转载转载!!readyState返返XMLHTTP 请求求当前状态语法Example备注变量量量属性性读量状态用长度为4求的的的的.定义如如如XMLHTTP 对象参考XMLHTTPRequest 对象XMLHTTPRequest 成员onreadystatechange readyState responseBody responseStream responseText responseXML status statusText abortgetAllResponseHeaders getResponseHeader open sendsetRequestHeader参考open 方法responseBody 属性 responseText 属性 send 方法 status 属性statusText 属性Copyright © 2005 . All rights reserved.禁止任何形式求禁止任何形式求转载转载转载!!responseBody返返返返返返返返务器响响数据语法Example备注变量量量属性性读量,unsigned array 返返格格格格从返务器返返返器经解码返的进制数据据参考responseStream 属性 responseText 属性 responseXML 属性Copyright © 2005 . All rights reserved.禁止任何形返返禁止任何形返返转载转载转载!!XMLHTTP 对象参考XMLHTTPRequest 对象XMLHTTPRequest 成员onreadystatechange readyState responseBody responseStream responseText responseXML status statusText abortgetAllResponseHeaders getResponseHeader open sendsetRequestHeaderresponseStream以Ado Stream 对象象象象象象响响信信语法备注变量量量属性性读量以Ado Stream 对象象象象象象响响信信信参考responseBody 属性 responseText 属性 responseXML 属性Copyright © 2005 . All rights reserved.禁止任何象象象禁止任何象象象转载转载转载!!XMLHTTP 对象参考XMLHTTPRequest 对象XMLHTTPRequest 成员onreadystatechange readyState responseBody responseStream responseText responseXML status statusText abortgetAllResponseHeaders getResponseHeader open sendsetRequestHeaderresponseText将响响信信信为字字字字字语法Example备注变量量量属性性读量将响响信信信为字字字字字字XMLHTTP 尝尝将响响信信信码为Unicode 字字字量XMLHTTP 默认将响响数据据编码定为UTF-8量,,,务器字字据数据带BOM(byte-order mark)量XMLHTTP 可可信码任任UCS-2 (big or little endian)或或UCS-4 数据字注据量,,,务器字字据器xml 文档量量属性并不处理xml 文档中据编码声明字你需需需用responseXML 来处理字参考responseBody 属性 responseText 属性 responseXML 属性Copyright © 2005 . All rights reserved.禁止任任形式据禁止任任形式据转载转载转载!!XMLHTTP 对象参考XMLHTTPRequest 对象XMLHTTPRequest 成员onreadystatechange readyState responseBody responseStream responseText responseXML status statusText abortgetAllResponseHeaders getResponseHeader open sendsetRequestHeaderresponseXML将响响信信信信信为Xml Document 对象并返返语法Example备注变量量量属性性读量将响响信信信信信为Xml Document 对象并返返返返返响响数据据据据据据XML 文档量量属性性性据返返XMLDOMParseError 量,,,过过理过据DOMDocument 对象获取错错信信返参考responseBody 属性 responseStream 属性 responseText 属性Copyright © 2005 . All rights reserved.禁止任何形信据禁止任何形信据转载转载转载!!XMLHTTP 对象参考XMLHTTPRequest 对象XMLHTTPRequest 成员onreadystatechange readyState responseBody responseStream responseText responseXML status statusText abortgetAllResponseHeaders getResponseHeader open sendsetRequestHeaderstatus返返当前请求求http 状态态语法Example返返返返值值XMLHTTP 对象参考XMLHTTPRequest 对象XMLHTTPRequest 成员onreadystatechange readyState responseBody responseStream responseText responseXML status statusText abortgetAllResponseHeaders getResponseHeader open sendsetRequestHeader备注长整整,整属性性读,返返当前请求求http 状态态,整属性仅当当据发送并接接接毕后后后获 取取参考statusText 属性 send 方法Copyright © 2005 . All rights reserved.禁止任何整式求禁止任何整式求转载转载转载!!statusText返返当前请求求响响行状态语法Example备注字字字字字属性性读字,BSTR 返返当前请求求响响行状态,字属性仅当当据发送并接接接毕后后后获 取取参考status 属性 send 方法Copyright © 2005 . All rights reserved.禁止任何形式求禁止任何形式求转载转载转载!!XMLHTTP 对象参考XMLHTTPRequest 对象XMLHTTPRequest 成员onreadystatechange readyState responseBody responseStream responseText responseXML status statusText abortgetAllResponseHeaders getResponseHeader open sendsetRequestHeaderabort取取当前请求语法备注调用用用法用用当前请求求求UNINITIALIZED 状态。

xml以及xmlhttprequest入门详细教程

xml以及xmlhttprequest入门详细教程

第1 章XML 简介Previous PageNext PageXML 被设计用来传输和存储数据。

HTML 被设计用来显示数据。

应该掌握的基础知识:在您继续学习之前,需要对以下知识有基本的了解:HTML / XHTMLJavaScript如果您希望首先学习这些项目,请在我们的首页访问这些教程。

什么是XML?XML 指可扩展标记语言(EXtensible Markup Language)XML 是一种标记语言,很类似HTMLXML 的设计宗旨是传输数据,而非显示数据XML 标签没有被预定义。

您需要自行定义标签。

XML 被设计为具有自我描述性。

XML 是W3C 的推荐标准XML 与HTML 的主要差异XML 不是HTML 的替代。

XML 和HTML 为不同的目的而设计:XML 被设计为传输和存储数据,其焦点是数据的内容。

HTML 被设计用来显示数据,其焦点是数据的外观。

HTML 旨在显示信息,而XML 旨在传输信息。

没有任何行为的XMLXML 是不作为的。

也许这有点难以理解,但是XML 不会做任何事情。

XML 被设计用来结构化、存储以及传输信息。

下面是John 写给George 的便签,存储为XML:<note><to>George</to><from>John</from><heading>Reminder</heading><body>Don't forget the meeting!</body></note>这个标签有标题以及留言。

它也包含了发送者和接受者的信息。

但是,这个XML 文档仍然没有做任何事情。

它仅仅是包装在XML 标签中的纯粹的信息。

我们需要编写软件或者程序,才能传送、接收和显示出这个文档。

XML 仅仅是纯文本XML 没什么特别的。

它仅仅是纯文本而已。

有能力处理纯文本的软件都可以处理XML。

XMLHttpRequest中文参考手册(14)

XMLHttpRequest中文参考手册(14)

open创建建个新新http 请求求并指指指请求新求求求URL 以以验验信信语求参数bstrMethodhttp 求求求方方方POST 求GET 求PUT 以PROPFIND 。

写 不不不。

bstrUrl请求新URL 地地求地以为为为地地地地以为相为 地地。

varAsync[地选]布尔型求指指指请求求求为异步求方求方认为true 。

方。

为真求当当态改变变会调用onreadystatechange 属性指指新性调函数。

bstrUser[地选]方。

如务器器器验验求指处指指用户名求方。

名指指求当如务器器器验验变求会弹出验验 窗窗。

bstrPassword[地选]验验信信信新信码部部求方。

用户名为空求则指值将 被被被。

Example下下新方下下下从如务器请求book.xml,并显下示信新book字字。

XMLHTTP 为象参考XMLHTTPRequest 为象XMLHTTPRequest 成员onreadystatechange readyState responseBody responseStream responseText responseXML status statusText abortgetAllResponseHeaders getResponseHeader open sendsetRequestHeader备注调用指求求用求地以调用send 求求方如务器发送数据。

参考abort 求求onreadystatechange 属性 XMLHTTPRequest 为象Copyright © 2005 . All rights reserved.禁止任何形方新禁止任何形方新转载转载转载!!。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

XMLHttpRequest提提提户端端http 服务器器讯的协协Example下下的下码是是JScript 中创建建个XMLHTTP 对象并从服务器请求建个XML 文档。

服务器器器XML 文档并显示。

是在IE 的浏浏器中器器器器new XMLHttpRequest()来创建对象器象下象vbscript 象备注提户端端端器过XmlHttp 对象(MSXML2.XMLHTTP.3.0)向http 服务器发送请求并使器使软XML 文档对象象型Microsoft® XML Document Object Model (DOM)处理器应 。

参考XMLHTTPRequest 成员XMLHTTP 对象参考XMLHTTPRequest 对象XMLHTTPRequest 成员onreadystatechange readyState responseBody responseStream responseText responseXML status statusText abortgetAllResponseHeaders getResponseHeader open sendsetRequestHeaderCopyright © 2005 . All rights reserved.禁止任何形式的禁止任何形式的转载转载转载!!XMLHttpRequest 成员属性* 表表表属性性W3C 文档对象象象象扩展.方法事件无参考XMLHTTPRequestCopyright © 2005 . All rights reserved.禁止任何形式象禁止任何形式象转载转载转载!!XMLHTTP 对象参考XMLHTTPRequest 对象XMLHTTPRequest 成员onreadystatechange readyState responseBody responseStream responseText responseXML status statusText abortgetAllResponseHeaders getResponseHeader open sendsetRequestHeaderonreadystatechange*指指当readyState 属性性变变象事件处理理理理只写readyState 返返当前请求象状态,只读.responseBody 将返应信信信文信unsigned byte 数组形式返返.只读responseStream 信Ado Stream 对象象形式返返响应信信理只读responseText 将响应信信信为字字字返返.只读responseXML 将响应信信信式信为Xml Document 对象并返返,只读status 返返当前请求象http 状态态.只读statusText返返当前请求象响应行状态,只读onreadystatechange指指当readyState 属性性变变的的的处理理理语法Example如如的如如如如当XMLHTTPRequest 对象的readyState 属性性变变变用HandleStateChange 函数,当数据据据据毕后后readystate == 4))页面面的面个按钮将被被被备注)属性性写,为W3C 文档对象象象的扩展.XMLHTTP 对象参考XMLHTTPRequest 对象XMLHTTPRequest 成员onreadystatechange readyState responseBody responseStream responseText responseXML status statusText abortgetAllResponseHeaders getResponseHeader open sendsetRequestHeader参考readyState 属性Copyright © 2005 . All rights reserved.禁止任何形式的禁止任何形式的转载转载转载!!readyState返返XMLHTTP 请求求当前状态语法Example备注变量量量属性性读量状态用长度为4求的的的的.定义如如如XMLHTTP 对象参考XMLHTTPRequest 对象XMLHTTPRequest 成员onreadystatechange readyState responseBody responseStream responseText responseXML status statusText abortgetAllResponseHeaders getResponseHeader open sendsetRequestHeader参考open 方法responseBody 属性 responseText 属性 send 方法 status 属性statusText 属性Copyright © 2005 . All rights reserved.禁止任何形式求禁止任何形式求转载转载转载!!responseBody返返返返返返返返务器响响数据语法Example备注变量量量属性性读量,unsigned array 返返格格格格从返务器返返返器经解码返的进制数据据参考responseStream 属性 responseText 属性 responseXML 属性Copyright © 2005 . All rights reserved.禁止任何形返返禁止任何形返返转载转载转载!!XMLHTTP 对象参考XMLHTTPRequest 对象XMLHTTPRequest 成员onreadystatechange readyState responseBody responseStream responseText responseXML status statusText abortgetAllResponseHeaders getResponseHeader open sendsetRequestHeaderresponseStream以Ado Stream 对象象象象象象响响信信语法备注变量量量属性性读量以Ado Stream 对象象象象象象响响信信信参考responseBody 属性 responseText 属性 responseXML 属性Copyright © 2005 . All rights reserved.禁止任何象象象禁止任何象象象转载转载转载!!XMLHTTP 对象参考XMLHTTPRequest 对象XMLHTTPRequest 成员onreadystatechange readyState responseBody responseStream responseText responseXML status statusText abortgetAllResponseHeaders getResponseHeader open sendsetRequestHeaderresponseText将响响信信信为字字字字字语法Example备注变量量量属性性读量将响响信信信为字字字字字字XMLHTTP 尝尝将响响信信信码为Unicode 字字字量XMLHTTP 默认将响响数据据编码定为UTF-8量,,,务器字字据数据带BOM(byte-order mark)量XMLHTTP 可可信码任任UCS-2 (big or little endian)或或UCS-4 数据字注据量,,,务器字字据器xml 文档量量属性并不处理xml 文档中据编码声明字你需需需用responseXML 来处理字参考responseBody 属性 responseText 属性 responseXML 属性Copyright © 2005 . All rights reserved.禁止任任形式据禁止任任形式据转载转载转载!!XMLHTTP 对象参考XMLHTTPRequest 对象XMLHTTPRequest 成员onreadystatechange readyState responseBody responseStream responseText responseXML status statusText abortgetAllResponseHeaders getResponseHeader open sendsetRequestHeaderresponseXML将响响信信信信信为Xml Document 对象并返返语法Example备注变量量量属性性读量将响响信信信信信为Xml Document 对象并返返返返返响响数据据据据据据XML 文档量量属性性性据返返XMLDOMParseError 量,,,过过理过据DOMDocument 对象获取错错信信返参考responseBody 属性 responseStream 属性 responseText 属性Copyright © 2005 . All rights reserved.禁止任何形信据禁止任何形信据转载转载转载!!XMLHTTP 对象参考XMLHTTPRequest 对象XMLHTTPRequest 成员onreadystatechange readyState responseBody responseStream responseText responseXML status statusText abortgetAllResponseHeaders getResponseHeader open sendsetRequestHeaderstatus返返当前请求求http 状态态语法Example返返返返值值XMLHTTP 对象参考XMLHTTPRequest 对象XMLHTTPRequest 成员onreadystatechange readyState responseBody responseStream responseText responseXML status statusText abortgetAllResponseHeaders getResponseHeader open sendsetRequestHeader备注长整整,整属性性读,返返当前请求求http 状态态,整属性仅当当据发送并接接接毕后后后获 取取参考statusText 属性 send 方法Copyright © 2005 . All rights reserved.禁止任何整式求禁止任何整式求转载转载转载!!statusText返返当前请求求响响行状态语法Example备注字字字字字属性性读字,BSTR 返返当前请求求响响行状态,字属性仅当当据发送并接接接毕后后后获 取取参考status 属性 send 方法Copyright © 2005 . All rights reserved.禁止任何形式求禁止任何形式求转载转载转载!!XMLHTTP 对象参考XMLHTTPRequest 对象XMLHTTPRequest 成员onreadystatechange readyState responseBody responseStream responseText responseXML status statusText abortgetAllResponseHeaders getResponseHeader open sendsetRequestHeaderabort取取当前请求语法备注调用用用法用用当前请求求求UNINITIALIZED 状态。

相关文档
最新文档