j17Ajax技术基础知识ppt课件

上传人:我*** 文档编号:148520062 上传时间:2020-10-20 格式:PPT 页数:27 大小:324KB
返回 下载 相关 举报
j17Ajax技术基础知识ppt课件_第1页
第1页 / 共27页
j17Ajax技术基础知识ppt课件_第2页
第2页 / 共27页
j17Ajax技术基础知识ppt课件_第3页
第3页 / 共27页
j17Ajax技术基础知识ppt课件_第4页
第4页 / 共27页
j17Ajax技术基础知识ppt课件_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《j17Ajax技术基础知识ppt课件》由会员分享,可在线阅读,更多相关《j17Ajax技术基础知识ppt课件(27页珍藏版)》请在金锄头文库上搜索。

1、第17讲,Ajax技术基础知识,内容回顾,页面上带的关闭按钮的广告层的制作方法 广告层随着窗口的滚动而滚动 3张图片动态改变的横幅广告 5张图片动态改变的横幅广告,本讲问题,Ajax是一个全新的技术吗? Ajax包括的技术有哪几个? 使用XMLHttpRequest对象创建和使用Ajax的步骤。,本讲任务,了解Ajax的含义 了解Ajax所包含的技术 学会使用XMLHttpRequest对象 会使用Ajax开发一个简单的应用,本讲目标,ajaxtest.html中调用time.jsp中response输出的时间 用户信息中按下键时,时间框中的信息会通过ajax调用自动发生变化,Ajax简介1,

2、AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML)。 AJAX 是一种在 2005 年由 Google 推广开来的编程模式。 AJAX 不是一种新的编程语言,而是一种使用现有标准的新方法。 通过 AJAX,你可以创建更好、更快以及更友好的 WEB 应用程序。 AJAX 基于 JavaScript 和 HTTP 请求(HTTP requests)。,Ajax简介2所需的基础知识,HTML / XHTML JavaScript,Ajax简介2Ajax含义,AJAX = 异步 JavaScript 及 XML(Asynchronous

3、 JavaScript and XML) AJAX 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。 通过 AJAX,您的 JavaScript 可使用 JavaScript 的 XMLHttpRequest 对象来直接与服务器进行通信。通过这个对象,您的 JavaScript 可在不重载页面的情况与 Web 服务器交换数据。,Ajax简介2Ajax含义,AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。 AJAX 可使因特网应用程序更小、更快,更友好。 AJAX 是一种独立

4、于 Web 服务器软件的浏览器技术。,Ajax简介2Ajax基于web标准,AJAX 基于下列 Web 标准: JavaScript XML HTML CSS 在 AJAX 中使用的 Web 标准已被良好定义,并被所有的主流浏览器支持。AJAX 应用程序独立于浏览器和平台。,Ajax简介2AJAX 事关更优秀的应用程序,AJAX 事关更优秀的应用程序 Web 应用程序较桌面应用程序有诸多优势;它们能够涉及广大的用户,它们更易安装及维护,也更易开发。 不过,因特网应用程序并不像传统的桌面应用程序那样完善且友好。 通过 AJAX,因特网应用程序可以变得更完善,更友好。,Ajax简介2小结,Ajax

5、没有新增什么内容 Ajax是对已经技术的一个组合应用出现的一个新效果 JavaScript XML HTML CSS,Ajax HTTP请求1-Ajax使用HTTP请求,在传统的 JavaScript 编程中,假如希望从服务器上的文件或数据库中得到任何的信息,或者向服务器发送信息的话,就必须利用一个 HTML 表单向服务器 GET 或 POST 数据。而用户则需要单击“提交”按钮来发送/获取信息,等待服务器的响应,然后一张新的页面会加载结果。 由于每当用户提交输入后服务器都会返回一张新的页面,传统的 web 应用程序变得运行缓慢,且越来越不友好。,Ajax HTTP请求1-Ajax使用HTTP

6、请求,通过利用 AJAX, JavaScript 会通过 JavaScript 的 XMLHttpRequest 对象,直接与服务器来通信。 通过使用 HTTP 请求,web 页可向服务器进行请求,并得到来自服务器的响应,而不加载页面。用户可以停留在同一个页面,他或她不会注意到脚本在后台请求过页面,或向服务器发送过数据。,Ajax HTTP请求2XMLHttpRequest 对象,通过使用 XMLHttpRequest 对象,web 开发者可以做到在页面已加载后从服务器更新页面! 在 2005 年 AJAX 被 Google 推广开来(Google Suggest)。 Google 建议使用

7、XMLHttpRequest 对象来创建一种动态性极强的 web 界面:当您开始在 Google 的搜索框中输入查询时,JavaScript 会向某个服务器发出这些字词,然后服务器会返回一系列的搜索建议。 XMLHttpRequest 对象得到下列浏览器的支持:Internet Explorer 5.0+、Safari 1.2、Mozilla 1.0 / Firefox、Opera 8+ 以及 Netscape 7。,Ajax实例,为了理解 AJAX 的工作原理,我们将创建一个小型的 AJAX 应用程序。 首先,我们需要一个带有两个文本框的 HTML 表单:用户名和时间。用户名文本框由用户填写

8、,而时间文本框使用 AJAX 进行填写。 此 HTML 文件名为 ajaxtest.htm(请注意这个 HTML 表单没有提交按钮!):, 用户: 时间: ,Ajax实例浏览器支持,AJAX 的要点是 XMLHttpRequest 对象。不同的浏览器创建 XMLHttpRequest 对象的方法是有差异的。 IE 浏览器使用 ActiveXObject,而其他的浏览器使用名为 XMLHttpRequest 的 JavaScript 内建对象。 如需针对不同的浏览器来创建此对象,我们要使用一条 try and catch 语句。您可以在我们的 JavaScript 教程中阅读更多有关 try 和

9、 catch 语句 的内容。 让我们用这段创建 XMLHttpRequest 对象的 JavaScript 来更新一下我们的 ajaxtest.html 文件:,ajaxtest.html增加的关键代码,. function ajaxFunction() var xmlHttp; try / Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); catch (e) ,/ Internet Explorer try xmlHttp=new ActiveXObject(Msxml2.XMLHTTP); catch (e) try xml

10、Http=new ActiveXObject(Microsoft.XMLHTTP); catch (e) alert(您的浏览器不支持AJAX!); return false; .,Ajax实例实例解释,首先声明一个保存 XMLHttpRequest 对象的 xmlHttp 变量。 然后使用 XMLHttp=new XMLHttpRequest() 来创建此对象。这条语句针对 Firefox、Opera 以及 Safari 浏览器。假如失败,则尝试针对 Internet Explorer 6.0+ 的 xmlHttp=new ActiveXObject(Msxml2.XMLHTTP),假如也不

11、成功,则尝试针对 Internet Explorer 5.5+ 的 xmlHttp=new ActiveXObject(Microsoft.XMLHTTP)。 假如这三种方法都不起作用,那么这个用户所使用的浏览器已经太过时了,他或她会看到一个声明此浏览器不支持 AJAX 的提示。,Ajax实例实例解释,注释:上面这些浏览器定制的代码很长,也很复杂。不过,每当希望创建 XMLHttpRequest 对象时,这些代码就能派上用场,因此可以在任何需要使用的时间拷贝粘贴这些代码。上面这些代码兼容所有的主流浏览器:Internet Explorer、Opera、Firefox 以及 Safari。 接下

12、来展示如何使用 XMLHttpRequest 对象与服务器进行通信。,AJAX - XMLHttpRequest 对象1,onreadystatechange 属性 onreadystatechange 属性存有处理服务器响应的函数。下面的代码定义一个空的函数,可同时对 onreadystatechange 属性进行设置: xmlHttp.onreadystatechange=function() / 我们需要在这里写一些代码 ,readyState 属性 readyState 属性存有服务器响应的状态信息。每当 readyState 改变时,onreadystatechange 函数就会被执

13、行。 这是 readyState 属性可能的值:,AJAX - XMLHttpRequest 对象2,我们要向这个 onreadystatechange 函数添加一条 If 语句, 来测试我们的响应是否已完成(意味着可获得数据): xmlHttp.onreadystatechange=function() if(xmlHttp.readyState=4) / 从服务器的response获得数据 ,AJAX - XMLHttpRequest 对象3,responseText 属性 可以通过 responseText 属性来取回由服务器返回的数据。 在我们的代码中,我们将把时间文本框的值设置为等于

14、 responseText: xmlHttp.onreadystatechange=function() if(xmlHttp.readyState=4) document.myForm.time.value=xmlHttp.responseText; ,Ajax-请求服务器,AJAX - 向服务器发送一个请求 要想把请求发送到服务器,需要使用 open() 方法和 send() 方法。 open() 方法需要三个参数。第一个参数定义发送请求所使用的方法(GET 还是 POST)。第二个参数规定服务器端脚本的 URL。第三个参数规定应当对请求进行异步地处理。 send() 方法可将请求送往服务

15、器。假设 HTML 文件和 ASP或JSP 文件位于相同的目录,那么代码是这样的: xmlHttp.open(GET,time.jsp,true); xmlHttp.send(null);,现在,必须决定何时执行 AJAX 函数。当用户在用户名文本框中键入某些内容时,令函数“在幕后”执行:, function ajaxFunction() var xmlHttp; try / Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); catch (e) / Internet Explorer try xmlHttp=new Active

16、XObject(Msxml2.XMLHTTP); catch (e) ,try xmlHttp=new ActiveXObject(Microsoft.XMLHTTP); catch (e) alert(您的浏览器不支持AJAX!); return false; xmlHttp.onreadystatechange=function() if(xmlHttp.readyState=4) document.myForm.time.value=xmlHttp.responseText; xmlHttp.open(GET,time.asp,true); xmlHttp.send(null); , 用户: 时间: ,服务程序time.jsp,本讲任务,了解Ajax的含义 了解Ajax所包含的技术 学会使用XMLHttpReuqest对象 会使用Ajax开发一个简单的应

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号