ajax的不足
1. 各个浏览器对XMLHttpRequest对象的支持度不足(兼容性问题)
2.
破坏浏览器的前进,后退功能。
3. 对搜索引擎支持不足。
4. 调试工具支持不足。
XMLHttpRequest对象的属性和方法
1.readyState属性
状态:0 代表未初始化。
1 代表准备发送。
2 已发送但还没收到响应
3 正在接收
4
接收完成
2.responseText属性
包含客户端接收到的HTTP响应的文本内容。
当readyState=4时,responseText才包含完整的响应信息。
当readyState=3时,responseText包含未完整的响应信息。
当readyState<3时,responseText为空字符串。
3.responseXML属性
当readyState=4,并且响应头部的Content-Type的MIME类型为XML(text/xml或application/xml)时,该属性有值并且被解析成一个XML文档。
其它情况为null,包括回传的XML文档不良或未完成响应回传。
4.status及statusText属性(描述http状态代码,及代码文本)
当readyState>2,才能访问,否则出现异常。
5.onreadystatechange事件
当readyState属性发生变化时触发此事件,用于触发回调函数。
6.open方法
open(method, uri, async, username,
password) 用来进行初始化工作
返回值:得到一个包含send()方法的对象
method:必须。用于指定HTTP方法如GET,POST,PUT....。按规定必须大写。
uri:请求发送到服务器相应的URI.自动解析成绝对地址。
async:请求是否异步,默认为true.
调用open后,readystate状态为1.
7.send方法
调用open 方法后,可以调用send()方法来发送请求。
当open 中async=true时,send()方法调用后立即返回,否则会中断直到请求返回。
send(data)
data:可选。此处还有疑问。。
8.abort()方法
该方法可以暂停一个HttpRequest请求或者HttpResponse的接收,并且将XMLHttpRequest的状态设置为初始化。
9.setRequestHeader(header,value)方法
该方法用来设置请求的头部信息。在调用open()后调用这个方法。否则将得到一个异常。
10.getResponseHeader()方法
当readystate>2时,该方法用来检索响应的头部信息。否则返回一个空字符串。
getAllResponseHeaders()方法返回所有的HttpResponse头部信息。
<script type="javascript/text">
var xmlHttp
//判断是否IE
if(window.ActiveXObject){
try{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
xmlHttp=false;
}
}
else{
try{
xmlHttp=new XMLHttpRequest();
}catch(e){
xmlHttp=false;
}
}
if(xmlHttp.readyState==4||xmlHttp.readyState==0){
xmlHttp.open("GET", "test.php?"content="+content,true);
//设置回调函数
xmlHttp.onreadystatechange=recall();
xmlHttp.send(null);
}
function recall(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
xmlResponse = xmlHttp.responseXML;
//xml处理
myXml = xmlResponse.documnetElement;
content = myXml.firstChild.data;
//处理部分
}
}else{
alert(xmlHttp.statusText);
}
}
</script>
分享到:
相关推荐
总结,"创建XMLHttpRequest对象的方法.rar"这个资源主要介绍了如何在JavaScript中创建并使用XMLHttpRequest对象进行AJAX通信,包括对象创建、状态监听、请求初始化和发送、以及响应处理等关键步骤。在实际项目中,...
XMLHTTPRequest对象具有多个属性和方法,用于控制和管理HTTP请求和响应。 - **属性** - `readyState`:表示请求的状态,从0到4,分别表示未初始化、已连接、已发送、接收到部分数据、完成。 - `status`:返回...
下面将详细介绍 XMLHTTPRequest 的基本概念、创建实例的方法以及如何使用其关键属性和方法来完成数据的发送与接收操作。 #### 二、XMLHTTPRequest的创建与初始化 在创建一个 XMLHTTPRequest 对象之前,需要先判断...
XMLHttpRequest(XHR)是Web开发中的一个关键技术,它允许JavaScript在不刷新整个...综上所述,XMLHttpRequest是实现网页异步交互的核心工具,通过熟练掌握其属性和方法,我们可以创建出更动态、响应更快的Web应用。
本文档将详细介绍XMLHttpRequest对象的基本知识、属性和方法,并演示如何使用它来进行简单的请求与处理。 #### 二、XMLHttpRequest对象的历史与现状 XMLHttpRequest对象最初由微软公司在Internet Explorer中引入,...
XMLHttpRequest对象的常用属性和方法包括: 1. 发起请求和接收响应: - `open(method, url, async, [user], [password])`:初始化一个请求,其中`method`参数是请求类型(如GET、POST、PUT),`url`是请求的URL...
在这篇深度剖析中,我们将揭开XMLHttpRequest对象的神秘面纱,探讨其工作原理、常用方法和实际应用。 XMLHttpRequest对象是Ajax技术的基础,它允许JavaScript在页面不刷新的情况下与服务器进行通信。创建一个...
它有几个重要的属性和方法,其中readyState属性描述了请求的当前状态,共有五个阶段(0-4),分别对应请求的不同阶段,如未初始化、发送、接收中和已完成。当readyState发生变化时,会触发onreadystatechange事件,...
二、 XMLHttpRequest 对象的属性和事件 XMLHttpRequest 对象暴露各种属性、方法和事件以便于脚本处理和控制 HTTP 请求与响应。 1. readyState 属性 readyState 属性描述 XMLHttpRequest 对象的当前状态,当 ...
**XMLHttpRequest对象属性** 1. **onreadystatechange**: 当请求状态改变时,这个属性所关联的函数会被调用。你可以在此处设置一个回调函数来处理服务器的响应。 2. **readyState**: 描述请求的状态,共有5个可能...
Ajax 中的 XMLHttpRequest 对象详解 XMLHttpRequest 对象是 Ajax...XMLHttpRequest 对象是 Ajax 技术的核心,它提供了丰富的属性和方法来实现 HTTP 请求和响应,但是需要注意 IE 的缓存问题、中文乱码问题和版本问题。
XMLHttpRequest对象的主要属性和方法包括: 1. readyState属性:表示请求的状态,共有5个值,分别对应请求的不同阶段,从0(未初始化)到4(完成)。当状态改变时,会触发onreadystatechange事件。 2. ...
**跨平台兼容性**:虽然不同浏览器的实现细节有所差异,但它们提供了相似的功能和方法,确保了跨浏览器的兼容性。W3C组织正致力于XMLHttpRequest对象的标准化,已发布了相关的规范草案,旨在统一其接口和行为。 ###...
XMLHttpRequest 对象的行为在不同浏览器上也有所区别,但是大多数方法和属性都得到了广泛的支持。当前,Firefox、Safari、Opera、Konqueror 和 Internet Explorer 都以类似的方式实现了 XMLHttpRequest 对象的行为。...
XMLHttpRequest对象提供了一系列方法和属性,用于创建、发送和接收HTTP请求。在本篇中,我们将深入探讨这些方法和属性。 ### 方法 1. **`open()`**: 这是初始化请求的关键方法。它接受三个参数:请求的类型(如...
下面我们将深入探讨XMLHttpRequest对象的主要属性和方法。 **1. 创建XMLHttpRequest对象** 创建XMLHttpRequest对象有两种方式,一种是针对Internet Explorer浏览器,使用ActiveXObject: ```javascript ...
#### 三、XMLHttpRequest对象的关键属性 - **`readyState`**:表示当前请求的状态,是一个整数值,范围从0到4。 - 0:未初始化 - 1:已打开 - 2:已发送 - 3:正在接收 - 4:完成 - **`responseText`**:当...