XMLHttpRequest 是 AJAX 的基础
所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。
XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
创建 XMLHttpRequest 对象
所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 对象。
创建 XMLHttpRequest 对象的语法:
variable=new XMLHttpRequest();
老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象:
variable=new ActiveXObject("Microsoft.XMLHTTP");
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
向服务器发送请求
如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法:
xmlhttp.open("GET","test1.txt",true);
xmlhttp.send();
方法
描述
open(method,url,async)
规定请求的类型、URL 以及是否异步处理请求。
-
method:请求的类型;GET 或 POST
-
url:文件在服务器上的位置
-
async:true(异步)或 false(同步)
send(
string)
将请求发送到服务器。
服务器响应
如需获得来自服务器的响应,请使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。
responseText |
获得字符串形式的响应数据。 |
responseXML |
获得 XML 形式的响应数据。 |
responseText 属性
如果来自服务器的响应并非 XML,请使用 responseText 属性。
responseText 属性返回字符串形式的响应,因此您可以这样使用:
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
responseXML 属性
如果来自服务器的响应是 XML,而且需要作为 XML 对象进行解析,请使用 responseXML 属性:
请求 books.xml 文件,并解析响应:
xmlDoc=xmlhttp.responseXML;
txt="";
x=xmlDoc.getElementsByTagName("ARTIST");
for (i=0;i<x.length;i++)
{
txt=txt + x[i].childNodes[0].nodeValue + "<br />";
}
document.getElementById("myDiv").innerHTML=txt;
onreadystatechange 事件
当请求被发送到服务器时,我们需要执行一些基于响应的任务。
每当 readyState 改变时,就会触发 onreadystatechange 事件。
readyState 属性存有 XMLHttpRequest 的状态信息。
onreadystatechange
存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。
readyState
存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
- 0: 请求未初始化
- 1: 服务器连接已建立
- 2: 请求已接收
- 3: 请求处理中
- 4: 请求已完成,且响应已就绪
status
200: "OK"
404: 未找到页面
当 readyState 等于 4 且状态为 200 时,表示响应已就绪:
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
使用 Callback 函数
callback 函数是一种以参数形式传递给另一个函数的函数。
如果您的网站上存在多个 AJAX 任务,那么您应该为创建 XMLHttpRequest 对象编写一个标准的函数,并为每个 AJAX 任务调用该函数。
该函数调用应该包含 URL 以及发生 onreadystatechange 事件时执行的任务(每次调用可能不尽相同):
function myFunction()
{
loadXMLDoc("ajax_info.txt",function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
});
}
分享到:
相关推荐
Ajax工作原理 以及优点 缺点一些用途啊 关于什么Ajax的ppt文件
### Ajax工作原理及优缺点详解 #### 一、Ajax的工作原理 Ajax(Asynchronous JavaScript and XML,异步JavaScript和XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。这种技术的核心在于使用`...
### AJAX工作原理详解 #### 一、AJAX概述 AJAX(Asynchronous JavaScript and XML),即异步JavaScript和XML,是一种在Web应用中创建异步数据交换的技术,它允许网页在不重新加载整个页面的情况下更新部分内容。这...
### Ajax工作原理及其运行机制 #### 一、Ajax概述 **Ajax**(Asynchronous JavaScript and XML,异步JavaScript和XML)是一种网页开发技术,它利用了一系列现有的技术来创建更快速响应、更用户友好的Web应用。传统...
### window.XMLHttpRequest详解与AJAX工作原理 #### 引言 在现代Web开发中,**AJAX**(Asynchronous JavaScript and XML)技术是一项至关重要的技术,它允许网页在不重新加载整个页面的情况下从服务器获取数据并...
### Ajax工作原理及优缺点实例解析 #### 一、什么是Ajax? Ajax,全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种利用现有Web技术进行开发的技术组合,主要用于实现客户端与服务器之间...
### Web开发技术之Ajax工作原理 #### 一、引言 在现代Web开发领域中,Ajax(Asynchronous JavaScript and XML)技术作为一种实现网页局部刷新的关键技术,在提高用户体验方面发挥着重要作用。本文旨在通过简单易懂...
**AJAX(Asynchronous JavaScript and XML)** 是一种在无需刷新整个网页的情况下,能够更新部分网页内容的技术。这种技术在21世纪初由Google引入,...了解和掌握AJAX的工作原理,对于任何Web开发者都是至关重要的。
"AJAX原理与技术的深入分析" AJAX(Asynchronous JavaScript and XML)是一种异步通信技术,允许Web应用程序异步地从服务器请求数据,而不需要重新加载整个网页。下面我们将深入分析AJAX的原理、技术、意义和发展...
### AJAX 工作原理 #### 1. 创建 XMLHttpRequest 对象 AJAX 的核心是 `XMLHttpRequest` 对象,它允许JavaScript在不重新加载整个页面的情况下与服务器通信。在现代浏览器中,可以通过 `new XMLHttpRequest()` 直接...
Ajax,即Asynchronous JavaScript and ...了解和掌握Ajax工作原理,对于提升Web应用的性能和用户体验至关重要。同时,随着技术的不断进步,Ajax也在不断发展,如fetch API的出现,为异步数据处理提供了新的解决方案。
#### 三、AJAX工作原理 传统Web应用中,用户每次操作都会导致整个页面的重新加载,用户体验较差。而AJAX则是在用户与服务器之间引入了一个中间媒介——**AJAX引擎**,它通过JavaScript编写并在一个隐藏的框架中运行...
#### 四、Ajax的工作原理 ##### 1. 事件触发 当用户在网页上执行某种操作时(如点击按钮),会触发一个事件。 ##### 2. 创建XMLHttpRequest对象 使用JavaScript创建一个XMLHttpRequest对象。 ##### 3. 发送请求...
"AJAX原理及其在Web开发中的应用" AJAX(Asynchronous JavaScript and XML)是一种实现异步通信的技术,在Web开发中极为重要。本文将从AJAX的基本原理开始,逐步介绍AJAX的技术架构、主要组件、工作原理、优点和...
在本项目中,“隐藏框架实现ajax原理”是一个演示如何利用隐藏iframe来实现Ajax交互的实例。下面我们将详细探讨Ajax的工作原理以及如何通过隐藏框架实现这一过程。 1. **Ajax工作原理**: Ajax的核心是JavaScript...
Ajax实现原理解释 java 与ajax的结合 是一本很好的学习文档
- Ajax工作原理的简要介绍 - 浏览器与服务器间通信的基础知识 2. **第二章:创建第一个Ajax请求** - XMLHttpRequest对象的使用 - GET和POST请求的发送 - 异步处理与回调函数 3. **第三章:处理响应** - 解析...
ajax技术原理及工作原理简介,对于对异步操作有兴趣的朋友有很大帮助。