网站首页 > PHP教程> 文章内容

怎样使用AJAX进行WEB应用程序开发

※发布时间:2018-11-19 16:41:21   ※发布作者:habao   ※出自何处: 

  AJAX,一个异步JavaScript和XML的缩略词,是最近出来的技术词语。异步意味着你可以经由超文本传输协议(HTTP)向一个服务器发出请求并且在等待该响应时继续处理另外的数据。这就意味着,例如,你可以调用一个服务器端脚本来从一个数据库中以XML方式检索数据,把数据发送到存储在一个数据库的服务器脚本,或者简单地装载一个XML文件以填充你的Web站点而不需刷新该页面。然而,在这项新技术提供巨大能力的同时,它也引起了在Back按钮问题上的很多争论。本文将帮助你确定在真实世界中何时使用AJAX是最佳选择。

  首先,我假定你对缩略词JavaScript和XML部分有一个基本了解。尽管你能通过AJAX请求任何类型的文本文件,但是我在此主要集中讨论XML。我将解释怎样在真实世界中使用AJAX以及怎样在一个工程中评估它的价值。在你读完本文后,你将会明白什么是AJAX,在什么情况下,为什么以及怎样使用这项技术。你将要学习,在保持给用户提供直观体验的同时怎样创建对象,发出请求以及定制响应。

  我已创建了一个适合于本文的示例工程(你可以下载源代码)。这个示例实现了一个简单的请求-它装载一个包含页面内容的XML文件并且分析数据以把它显示在一个HTML页面中。

  首先,你需要创建XML文件-后面我们对之进行请求并作为页面内容进行分析。你正在请求的文件必须与 目标工程驻留在相同的服务器上。

  下一步,创建发出请求的HTML文件。当页面通过使用页面主体 中的onload方法进行加载时,该请求发生。接着,该文件需要一个有ID的div标签,这样当我们准备好要 显示内容时就可以对之进行定位。当你做完所有这些,你的页面的主体上去,如下:

  为了创建请求对 象,你必须检查是否浏览器使用XMLHttpRequest或ActiveXObject。这两个对象之间的主要区别在于使用 它们的浏览器。Windows IE 5 及以上版本使用ActiveX对象; 而Mozilla,Netscape 7,Opera和Sari 1.2及以上版本使用XMLHttpRequest对象。另外一个区别是你创建对象的方式:Opera,Mozilla, Netscape和Sari允许你简单地调用该对象的构造器,容祖儿 夹春卷但是Windows IE需要把对象的名字传递到ActiveX 构造器中。下面是怎样创建代码来决定要使用哪个对象和怎样创建它的示例:

  现在既然你已经创建了你的请求对象,那么你已经为向服务器发 出请求作了准备。创建一个到事件处理器的参考以听取onreadystatechange事件。然后,该事件处理器 方法将在状态发生变化时作出响应。一旦我们完成请求,我们就开始创建这个方法。打开连接以GET或 POST一个定制的URL-在此是一个content.xml,并且设置一个布尔定义-是否你想要进行异步调用。

  现在到了发出请求的时间了。在这个示例中,我使用了null,因为我们使用的是GET; 为了使用 POST,你需要使用下面这个方法发出一个查询串:

  你为onreadystatechange方法创建的事件处理器 正是集中进行加载和处理错误的场所。现在到了考虑用户并针对他们与之交互的内容的状态提供反馈的 时候了。在这个实例中,我针对所有的装载状态代码提供反馈,并且也对最经常发生的错误处理状态代 码提供一些基本的反馈。为了显示请求对象的当前状态,readyState属性包括显示在下表中的一些值。

  最后,我检查任何另外的状况代码-它们将生成一个错误并提供 一个一般错误信息。下面是一个代码示例-你可以用之来处理这些情况。注意,我在定位我们前面在HTML 文件的主体中创建的div ID并且对它应用装载和/或错误信息-通过innerHTML方法-这个方法用于设置在 div对象的开始和结束标签之间的HTML:

  当你准备好分析来自请求 对象的响应时,真正的工作开始了。现在你可以用你请求的数据开始工作。仅为测试目的,在开发期间 ,可以使用responseText和responseXML属性来显示来自响应的原始数据。为了存取XML响应中的结点, 首先使用你创建的请求对象,定位到responseXML属性以检索(你可能已经猜测出来)来自响应的XML。定 位到documentElement-它检索一个到XML响应的根结点的参考。

  现在既然你知道怎样使用 AJAX的基础知识,那么下一步就是决定是否在一工程使用它。须记住的最重要的事情是,在你还没有刷 新页面时你无法使用Back按钮。为此,可以先专注于你的工程中的一小部分-它能够从使用 这种类型的交互中受益。例如,你可以创建一个表单-它在用户每次输入一个输入字段或一个字母时查询 一个脚本以便进行实时校验。你可以创建一个拖放页面-在一项时,它能够把数据发送到一个脚本中 并把该页面的状态保存到一个数据库中。使用AJAX的理由毫无疑问是存在的; 并且这种使用无论对开发 者还是用户都会带来益处; 这全依赖于具体的条件和执行情况。

  还有其它方法可用来解决 Back按钮的问题,例如使用Google Gmail-它现在能够为你的操作提供一种撤消功能而不刷 新该页面。以后还会出现许多更具创造性的例子-它们将通过提供给开发者创建独特实时的体验的手段给 用户带来更大的好处。

  尽管AJAX允许我们构建新的和改进的方式来与一个WEB页 面进行交互; 但是作为开发者,我们需要牢记产品是不考虑技术的; 它关心的是用户以及其如何与用户 进行交互。没有了用户群,我们构建的工程毫无用处。基于这个标准,我们就能评估应该使用什么技术 以及何时使用它们来创建对相应用户有用的应用。

  本文由来源于325棋牌 325游戏中心唯一官方网站

相关阅读
  • 没有资料
重庆学习网zslpsh,0755深圳房产人才招聘网,拾年网90后,anedc股票,最新电影下载淘娱淘乐,重庆中学生网高考,重庆中学生网高考,学习重庆方言网,重庆中学生学习方法,重庆俗语网,中学生网zslpsh,0755深圳交友网,重庆初中生,贵州重庆方言网,025新闻网,西南重庆方言歌曲,025南京交友网,重庆农家乐美女,观赏蟹种类zadull,云南重庆方言网,重庆中学学习网,028成都交友网,推广taoyutaol,西南四川方言网,观赏龟论坛zadull,四川重庆方言网,022天津交友网,重庆中学生网家长,鹦鹉鱼zadull,重庆俗语,电影淘娱淘乐,taoyutaole娱乐,华夏视讯网,0755深圳旅游招聘,昆明重庆方言网,淘娱淘乐影视,www.00game.net,观赏鱼zadul,重庆高考zslpsh,重庆中学生网高考,027房产招聘网,坝坝舞wagcw,西南重庆方言网,贵州重庆方言网,重庆言子儿网,热带鱼zadull,重庆高考zslpsh,0755深圳旅游招聘网,淘娱淘乐影视网,0571.361.cm,重庆方言学习网,028成都新闻,异形观赏鱼种类,影视网淘娱淘乐,最新电影下载淘娱淘乐,0773桂林论坛,拾年网80后动画片,观赏蟹论坛zadull,观赏龟繁殖教程,重庆一中zslpsh,重庆俗语网,广场舞wagcw,观赏虾的种类zadull,观赏鱼观赏虾观赏龟,西南方言网,观赏鱼之家论坛zadull,战争前线辅助00game,西南重庆方言小说,重庆中小学zslpsh,推广taoyutaol,战争前线论坛00game,0871交友网,025南京新闻网,重庆言子儿网站,娱乐taoyutaole,022天津交友网,025新闻网,重庆中学生网学习,022天津交友网,重庆方言歌网,www.120.cm健康网,anedc股票,重庆初中生