ajax新手入门教程-适合初学者
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
初学者入门教程,来源于网络 AJAX 简介
AJAX 全称为“Asynchronous JavaScript and XML”(异步 JavaScript 和 XML) ,是一种创 建交互式网页应用的网页开发技术。类似于 DHTML 或 LAMP,AJAX 不是指一种单一的技 术,而是有机地利用了一系列相关的技术。 AJAX 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用 程序的技术。通过 AJAX,您的 JavaScript 可使用 JavaScript 的 XMLHttpRequest 对象来 直接与服务器进行通信。 通过这个对象, 您的 JavaScript 可在不重载页面的情况与 Web 服 务器交换数据。AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求) ,这 样就可使网页从服务器请求少量的信息,而不是整个页面。AJAX 可使因特网应用程序更 小、更快,更友好。 AJAX 是一种独立于 Web 服务器软件的浏览器技术。AJAX 基于下列 Web 标准: • • • • JavaScript XML HTML CSS
在 AJAX 中使用的 Web 标准已被良好定义,并被所有的主流浏览器支持。AJAX 应用 程序独立于浏览器和平台。
1. AJAX 使用 Http 请求
在传统的 JavaScript 编程中,假如您希望从服务器上的文件或数据库中得到任何的信 息, 或者向服务器发送信息的话, 就必须利用一个 HTML 表单向服务器 GET 或 POST 数 据。而用户则需要单击“提交”按钮来发送/获取信息,等待服务器的响应,然后一张新的页 面会加载结果。由于每当用户提交输入后服务器都会返回一张新的页面,传统的 web 应用 程序变得运行缓慢,且越来越不友好。通过利用 AJAX,您的 JavaScript 会通过 JavaScript 的 XMLHttpRequest 对象,直接与服务器来通信。通过使用 HTTP 请求,web 页可向服务 器进行请求,并得到来自服务器的响应,而不加载页面。用户可以停留在同一个页面,他或 她不会注意到脚本在后台请求过页面,或向服务器发送过数据。 XMLHttpRequest 对象:通过使用 XMLHttpRequest 对象,web 开发者可以做到在页面 已加载后从服务器更新页面! 您的第一个 AJAX 应用程序:为了让您理解 AJAX 的工作原理,我们将创建一个小
型的 AJAX 应用程序。 首先,我们需要一个带有两个文本框的 HTML 表单:用户名和时间。用户名文本框由用 户填写,而时间文本框使用 AJAX 进行填写。
此 HTML 文件名为 "testAjax.htm"(请注意这个 HTML 表单没有提交按钮!):
2. AJAX - 浏览器支持
AJAX 的要点是 XMLHttpRequest 对象。不同的浏览器创建 XMLHttpRequest 对象的 方 法 是 有 差 异 的 。 IE 浏 览 器 使 用 ActiveXObject , 而 其 他 的 浏 览 器 使 用 名 为 XMLHttpRequest 的 JavaScript 内建对象。如需针对不同的浏览器来创建此对象,我们要 使用一条 "try and catch" 语句。您可以在我们的 JavaScript 教程中阅读更多有关 try 和 catch 语句 的内容。 让 我 们 用 这 段 创 建 XMLHttpRequest 对 象 的 JavaScript 来 更 新 一 下 我 们 的 "testAjax.htm" 文件:
例子解释: 例子解释: 首先声明一个保存 XMLHttpRequest 对象的 xmlHttp 变量。 然后使用 XMLHttp=new XMLHttpRequest() 来创建此对象。这条语句针对 Firefox、Opera 以及 Safari 浏览器。假如失败,则尝试针对 Internet Explorer 6.0+ 的 xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"),假如也不成功,则尝试针对 Internet Explorer 5.5+ 的 xmlHttp=new ActiveXObject("Microsoft.XMLHTTP")。 假如这三种方法都不起作用,那么这个用户所使用的浏览器已经太过时了,他或她会 看到一个声明此浏览器不支持 AJAX 的提示。 注释: 注释:上面这些浏览器定制的代码很长,也很复杂。不过,每当您希望创建
XMLHttpRequest 对象时,这些代码就能派上用场,因此您可以在任何需要使用的时间 拷贝粘贴这些代码。上面这些代码兼容所有的主流浏览器:Internet Explorer、Opera、 Firefox 以及 Safari。
3. AJAX - XMLHttpRequest 对象
在向服务器发送数据之前,我们有必要解释一下 XMLHttpRequest 对象的三个重要 的属性。 onreadystatechange 属性 onreadystatechange 属性存有处理服务器响应的函数。下面的代码定义一个空的函 数,可同时对 onreadystatechange 属性进行设置:
xmlHttp.onreadystatechange=function()
{ // 我们需要在这里写一些代码 }
readyState 属性 readyState 属 性 存 有 服 务 器 响 应 的 状 态 信 息 。 每 当 readyState 改 变 时 , onreadystatechange 函数就会被执行。 这是 readyState 属性可能的值: 状态 0 1 2 3 4 描述 请求未初始化(在调用 open() 之前) 请求已提出(调用 send() 之前) 请求已发送(这里通常可以从响应得到内容头部) 请求处理中(响应中通常有部分数据可用,但是服务器还没有完成响应) 请求已完成(可以访问服务器响应并使用它) 我们要向这个 onreadystatechange 函数添加一条 If 语句, 来测试我们的响应是否 已完成(意味着可获得数据):
xmlHttp.onreadystatechange=function() {