`
aijuans8
  • 浏览: 187193 次
社区版块
存档分类
最新评论

XMLHttpRequest Object

 
阅读更多

XMLHttpRequest Object

作者:kongxx

什么是XMLHttpRequest对象

一个页面可以通过一个HttpRequest发送一个请求来获取服务器响应,而当前页面不做刷新。

通过使用XMLHttpRequest对象,开发者可以在不刷新当前页面的情况下更新当前页面的数据。

注:XMLHttpRequest对象不是W3C标准,不过目前已有以下浏览器支持此对象操作:IE5.0+,Safari1.2,Mozilla1.0,Firefox,Netscape7

创建一个XMLHttpRequest对象

要创建XMLHttpRequest对象,可以采用以下方法:

对于IE

var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")

对于For Mozilla, Firefox, Safari, and Netscape

var xmlhttp=new XMLHttpRequest()

XMLHttpRequest对象引用

方法:

方法

描述

abort

取消当前请求

getAllResponseHeaders()

获取完整的Http header信息

getResponseHeader(headername)

获取指定的Http header信息

open(method,url,async,user,passwd)

打开一个请求。

method-指定请求方法getpost

url-请求的url

async-指定异步请求响应。true表示发送请求后不等待回应而去执行别的操作;false表示请求后等待回应后才去继续别的操作。

user-访问用户(可选)

passwd-访问密码(可选)

send(content)

发送请求

setRequestHeader("label","value")

设置请求头部信息

属性:

属性名

描述

onreadystatechange

一个事件,用来捕获所有的状态变换

readyState

返回对象状态:

0 = uninitialized

1 = loading

2 = loaded

3 = interactive

4 = complete

responseText

响应文本

responseXML

响应XML数据

status

返回状态数字(如:”404” >表示“Not Found “200”表示“OK”)。

statusText

返回状态文本(如:“Not Found ,“OK”)

一个小例子

test1.jsp创建一个XMLHttpRequest对象,并从服务器获取服务器时间填充到当前页面指定的div中,代码如下:

<%@ page contentType="text/html;charset=gb2312" language="java" errorPage=""%>

<html>

<head>

<script language="javascript">

var xmlhttp ;

var url = "test2.jsp";

if (window.XMLHttpRequest) {

xmlhttp=new XMLHttpRequest();

} else if (window.ActiveXObject) {

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

}

function func_test() {

if (xmlhttp) {

xmlhttp.open("GET", url,true);

xmlhttp.onreadystatechange=function() {

if (xmlhttp.readyState==4) {

document.getElementById('testdiv').innerHTML=xmlhttp.responseText;

}

}

}

xmlhttp.send(null);

}

</script>

</head>

<body bgcolor="#FFFFFF" >

<input type="button" value="button" onclick="func_test()">

<div id="testdiv">

</div>

</body>

</html>

test2.jsp接收请求输入当前系统时间,代码如下:

<%@ page contentType="text/html;charset=gb2312" language="java" errorPage=""%>

<%@ page import="java.util.*"%>

<%

out.println(Calendar.getInstance().getTime());

%>

将此两个文件放入Tomcat中,访问test1.jsp页面,点击button,即可显示服务器时间。

由此看出,在一些开发中我们可以使用XMLHttpRequest对象来处理两次请求页面表现形式相似的情况,通过XMLHttpRequest对象来获取数据并替换当前页面的类似的数据内容,从而减少每次响应得数据流量,提高客户端的访问速度。

分享到:
评论

相关推荐

    外文翻译-XMLHttpRequest对象的使用 Using_the_XMLHttpRequest_Object

    Using the XMLHttpRequest Object Now that we’ve discussed the history of dynamic Web applications and introduced Ajax, it’s time to cover the heart of the matter: how to use the XMLHttpRequest ...

    支持多种浏览器创建XMLHttpRequest对象代码

    console.log('XMLHttpRequest object created successfully.'); } else { console.error('Failed to create XMLHttpRequest object.'); } ``` #### 六、总结 本文详细介绍了如何在不同浏览器环境下创建`...

    ajax IM 源代码(php)

    It uses the XMLHTTPRequest object in JavaScript to send and receive commands to and from the server. No refreshing of the page is ever needed for this "web application" to work, as everything is ...

    Professional JavaScript for Web Developers英文版

    This book provides a developer-level introduction along with more advanced and useful ...fly graphicsJavaScript API changes in ...XMLHttpRequest object and CORScomplex patterns including function currying...

    AJAX+PHP+MYSQL聊天室

    Web form形式的网页 The chat lines are sent to the server using a XMLHttpRequest object. 使用XMLHttpRequest对象将chat lines发到服务器 The chat lines are received by a server side script ...

    eclipse下DWR源代码

    throw new Error("No XMLHttpRequest object available") } } ``` **五、Eclipse下使用DWR源代码** 在Eclipse中,你可以: 1. **导入DWR库**:将DWR的jar包添加到项目的构建路径中。 2. **配置DWR**:设置`dwr....

    JavaScript权威指南(第五版).chm

    Part IV is a reference for client-side JavaScript, covering legacy web browser APIs, the standard Level 2 DOM API, and emerging standards such as the XMLHttpRequest object and the &lt;canvas&gt; tag. ...

    javascript.the.definitive.guide.5th.2006(英文版)

    Part IV is a reference for client-side JavaScript, covering legacy web browser APIs, the standard Level 2 DOM API, and emerging standards such as the XMLHttpRequest object and the &lt;canvas&gt; tag. ...

    Ajax The Definitive Guide.pdf

    tried-and-true technologies, along with the XMLHttpRequest object, you can turn browsers into application platforms that closely mirror desktop applications. This capability is allowing existing web ...

    Ajax深度剖析,XMLHttpRequest对象大揭秘

    通过结合JSON(JavaScript Object Notation)作为数据交换格式,可以轻松地处理服务器返回的结构化数据。此外,还可以利用Ajax实现表单的无刷新提交,提高用户体验。 然而,需要注意的是,由于同源策略的限制,...

    ActiveWidgets 2.0.2

    ActiveWidgets controls generate html on the client-side and can communicate with the server asynchronously using XMLHTTPRequest object (AJAX-style). &lt;br/&gt;ActiveWidgets library includes powerful ...

    AJAX的跨域访问-两种有效的解决方法介绍

    新的W3C策略实现了HTTP跨域访问,还亏我找了很久的资料解决这个问题:只需要在servlet中返回的头部信息中添加...代码如下:HTML的JS的ajax请求:复制代码 代码如下:/* Create a new XMLHttpRequest object to talk to

    XmlHttpRequest与XMLDOM的完整使用(ASP.NET Web)

    XMLDOM(XML Document Object Model)是XML文档的编程接口,它允许程序读取、修改和创建XML文档。在ASP.NET中,XMLDOM常用于解析XML数据: 1. 加载XML:首先,需要创建一个`System.Xml.XmlDocument`对象,然后使用`...

    VS2008 AJAX控件介绍 AJAX组成及XMLHttpRequest对象

    3. **DOM(Document Object Model)**:用于操作HTML或XML文档结构,通过JavaScript可以动态修改页面内容。 4. **CSS(Cascading Style Sheets)**:用于控制页面样式和布局,常与AJAX结合使用以更新页面视觉元素。 ...

    XMLHttpRequest中文参考手册(15)

    - `IDispatch to an XML Document Object Model (DOM)`:指向XML DOM对象的接口,适用于直接发送XML文档结构。 - `IStream`:流对象,适用于处理大量数据或者需要流式传输的情况。 #### 核心知识点三:编码与数据...

    XmlHttpRequest对象直接访问与通过Soap协议访问WebSevice详解示例

    本示例将深入探讨如何使用XMLHttpRequest直接访问Web服务以及通过SOAP(Simple Object Access Protocol)协议进行访问。 首先,让我们了解XMLHttpRequest的基本用法。创建一个XMLHttpRequest实例,然后设置其...

    使用XMLHTTPRequest实现自定义ajax。javascript闭包模式写法。值的学习

    此外,我们还提到了JSON(JavaScript Object Notation),这是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在实际的Ajax应用中,服务器通常会返回JSON格式的数据,而不是原始的XML。...

    XMLHttpRequest

    XMLHttpRequest对象有一个重要的属性——responseXML,当服务器返回的数据是XML格式时,这个属性就会包含一个DOM(Document Object Model)对象,可以用来解析和操作XML数据。通过这个DOM,我们可以使用JavaScript的...

Global site tag (gtag.js) - Google Analytics