基本原理:通过XMLHttpRequest对象实现远程脚本调用。
实现例子
<HTML>
<HEAD>
<TITLE> Simple XMLHttpRequest </TITLE>
<script type="text/javascript">
var xmlHttp;
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}
}
function handleStateChange(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
alert("this server replied with:" + xmlHttp.responseText);
}
}
}
</script>
</HEAD>
<BODY>
<form action="#">
<input type="button" value="Start Basic Asynchronous Request" onclick="startRequest();"/>
</form>
</BODY>
</HTML>
simpleResponse.xml
Hello ,Welcome
*GET = 返回为幂等的,就是说返回结果总是一样的。
*POST = 改变服务器状态,必须设置Content-Type
xmlHttp.setRequestHeader("Content-Type","application/xxx-w-form-urlencoded");
onreadystatechange事件
无论readyState值何时发生改变,XMLHttpRequest对象都会激发一个readystatechange事件。其中,onreadystatechange属性接收一个EventListener值-向该方法指示无论readyState值何时发生改变,该对象都将激活。
responseText属性
这个responseText属性包含客户端接收到的HTTP响应的文本内容。当readyState值为0、1或2时,responseText包含一个空字符串。当readyState值为3(正在接收)时,响应中包含客户端还未完成的响应信息。当readyState为4(已加载)时,该responseText包含完整的响应信息。
responseXML属性
此responseXML属性用于当接收到完整的HTTP响应时(readyState为4)描述XML响应;此时,Content-Type头部指定MIME(媒体)类型为text/xml,application/xml或以+xml结尾。如果Content-Type头部并不包含这些媒体类型之一,那么responseXML的值为null。无论何时,只要readyState值不为4,那么该responseXML的值也为null。
其实,这个responseXML属性值是一个文档接口类型的对象,用来描述被分析的文档。如果文档不能被分析(例如,如果文档不是良构的或不支持文档相应的字符编码),那么responseXML的值将为null。
status属性
这个status属性描述了HTTP状态代码,而且其类型为short。而且,仅当readyState值为3(正在接收中)或4(已加载)时,这个status属性才可用。当readyState的值小于3时试图存取status的值将引发一个异常。
statusText属性
这个statusText属性描述了HTTP状态代码文本;并且仅当readyState值为3或4才可用。当readyState为其它值时试图存取statusText属性将引发一个异常。
ReadyState取值
ReadyState取值 |
描述 |
0
|
描述一种"未初始化"状态;此时,已经创建一个XMLHttpRequest对象,但是还没有初始化。 |
1
|
描述一种"发送"状态;此时,代码已经调用了XMLHttpRequest open()方法并且XMLHttpRequest已经准备好把一个请求发送到服务器。 |
2
|
描述一种"发送"状态;此时,已经通过send()方法把一个请求发送到服务器端,但是还没有收到一个响应。 |
3
|
描述一种"正在接收"状态;此时,已经接收到HTTP响应头部信息,但是消息体部分还没有完全接收结束。 |
4
|
描述一种"已加载"状态;此时,响应已经被完全接收。 |
属性status的含义:
0**:未被始化
1**:请求收到,继续处理
2**:操作成功收到,分析、接受
3**:完成此请求必须进一步处理
4**:请求包含一个错误语法或不能完成
5**:服务器执行一个完全有效请求失败
100——客户必须继续发出请求
101——客户要求服务器根据请求转换HTTP协议版本
200——交易成功
201——提示知道新文件的URL
202——接受和处理、但处理未完成
203——返回信息不确定或不完整
204——请求收到,但返回信息为空
205——服务器完成了请求,用户代理必须复位当前已经浏览过的文件
206——服务器已经完成了部分用户的GET请求
300——请求的资源可在多处得到
301——删除请求数据
302——在其他地址发现了请求数据
303——建议客户访问其他URL或访问方式
304——客户端已经执行了GET,但文件未变化
305——请求的资源必须从服务器指定的地址得到
306——前一版本HTTP中使用的代码,现行版本中不再使用
307——申明请求的资源临时性删除
400——错误请求,如语法错误
401——请求授权失败
402——保留有效ChargeTo头响应
403——请求不允许
404——没有发现文件、查询或URl
405——用户在Request-Line字段定义的方法不允许
406——根据用户发送的Accept拖,请求资源不可访问
407——类似401,用户必须首先在代理服务器上得到授权
408——客户端没有在用户指定的饿时间内完成请求
409——对当前资源状态,请求不能完成
410——服务器上不再有此资源且无进一步的参考地址
411——服务器拒绝用户定义的Content-Length属性请求
412——一个或多个请求头字段在当前请求中错误
413——请求的资源大于服务器允许的大小
414——请求的资源URL长于服务器允许的长度
415——请求资源不支持请求项目格式
416——请求中包含Range请求头字段,在当前请求资源范围内没有range指示值,请求
也不包含If-Range请求头字段
417——服务器不满足请求Expect头字段指定的期望值,如果是代理服务器,可能是下
一级服务器不能满足请求
500——服务器产生内部错误
501——服务器不支持请求的函数
502——服务器暂时不可用,有时是为了防止发生系统过载
503——服务器过载或暂停维修
504——关口过载,服务器使用另一个关口或服务来响应用户,等待时间设定值较长
505——服务器不支持或拒绝支请求头中指定的HTTP版本
分享到:
相关推荐
**Ajax(Asynchronous JavaScript and XML)**是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。初学者在学习Ajax时,通常会从源码分析开始,以理解其工作原理和实现方式。以下是对Ajax技术及其相关...
**Ajax(Asynchronous JavaScript and XML)**是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。这使得网页更加用户友好,提供了更好的交互体验。在初学者的学习过程中,理解Ajax的核心概念、工作...
**Ajax(Asynchronous JavaScript and XML)**是一种在无需刷新整个网页的情况下,能够更新部分网页内容的技术。这使得用户可以与网页进行更流畅的交互,提高了用户体验。Ajax的核心是JavaScript对象XMLHttpRequest...
这个"初学Ajax的一个小例子"是针对初学者的教学材料,可以帮助理解Ajax的基本原理和用法。在这个压缩包中,可能包含了一段课堂演示代码,用于实际操作和学习。 Ajax的核心在于XMLHttpRequest对象,它允许JavaScript...
对于初学者来说,Ajax.dll是一个很好的起点。在VS2005(Visual Studio 2005)中,你可以轻松地集成这个库,创建出具有Ajax功能的应用。它降低了Ajax技术的学习曲线,使得开发者可以快速上手,专注于业务逻辑的实现,...
**Ajax(Asynchronous JavaScript and XML)技术是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。这种技术可以提升用户体验,使得网页...
本AjaxDEMO适合初学者学习,旨在提供一个基础的实践平台,帮助理解Ajax的工作原理及其在实际开发中的应用。** ### 1. Ajax基础知识 Ajax的核心是JavaScript对象XMLHttpRequest,它允许在后台与服务器端通信。当...
Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页内容的技术。它的核心是JavaScript,通过创建XMLHttpRequest对象,实现与服务器端的异步数据交换,使得用户可以与网页...
AJAX手册,初学者必备AJAX手册,初学者必备AJAX手册,初学者必备AJAX手册,初学者必备AJAX手册,初学者必备AJAX手册,初学者必备AJAX手册,初学者必备AJAX手册,初学者必备AJAX手册,初学者必备AJAX手册,初学者必备...
AJAX技术(Asynchronous JavaScript and XML,即异步JavaScript和XML)作为一种新兴的前端开发技术,通过异步通信的方式,实现了局部数据的更新而不必刷新整个页面,极大地改善了用户体验。 #### 二、AJAX技术介绍 ...
**Ajax(Asynchronous JavaScript and XML)**是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。这一技术对于提升用户体验,尤其是数据...
Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。Ajax技术的出现极大地提升了用户体验,使得网页...
**Ajax(Asynchronous JavaScript and XML)**是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。这种技术可以提升用户体验,使得网页...
AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下更新部分网页内容的技术。在实际应用中,它常与JSON(JavaScript Object Notation)数据格式结合使用,因为JSON是一种轻量级的数据...
**AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。对于初学者来说,理解和掌握AJAX是提升Web应用交互性和用户体验的关键步骤。** **一、AJAX基础概念** 1...
Ajax.基础教程。包含Ajax的基本知识,是Ajax初学者必备的教材。
本教程将引导初学者深入理解AJAX(异步JavaScript和XML)技术,通过一个实际的在线聊天程序项目来阐述其核心概念和应用。这个简易聊天程序的实现不依赖任何第三方的AJAX库,如jQuery或Prototype,而是完全依靠原生的...
这个例子是一个简单的Ajax实现,适合初学者理解Ajax的工作原理。下面我们将详细解析这个例子中的关键知识点。 首先,我们看到一个名为`First.html`的HTML文件,其中包含了一个JavaScript函数`createXmlHttp()`。这...
对于初学者来说,理解Ajax的核心概念和工作原理至关重要。 Ajax的主要特点在于其异步性,这意味着用户可以与网页交互时,后台数据处理和页面更新在后台进行,不会打断用户的当前操作。这极大地提升了用户体验,因为...