用 AjaxTags 简化 Ajax 开发(2)

作者:Daniel Wintschel 来源:IBM developerWorks 时间:2007-11-27 00:00:00 

Ajax 是否是为了清洁之用?

还只是几年之前,即使是顽固的开发人员也会将 Ajax 与由 Colgate-Palmolive 开发和生产的那个流行清洁剂联系在一起,而不是将其视为一种可以提高在线体验的 Web 开发技巧。现在,Ajax 技术越来越受欢迎,大家不禁都想要获得有关其工作原理以及在何种情况下可以使用它的全部信息。

工作原理

在开发和编写 Ajax 应用程序时,需要理解前台和后台的工作原理。如下所示的是应用程序内的一种典型的事件流:

  1. 用户请求一个网页。

  2. 用户更改此网页上的状态(例如,单击一个链接、从选择框中进行选择、单击了某个单选按钮或复选框)。

  3. 状态的改变会击发事件,调用一个 JavaScript 函数。

  4. JavaScript 函数实例化一个 XmlHttpRequest 对象,该对象会在后台异步地产生一个对服务器的 HTTP 请求(注意,没有发生页面刷新)。

  5. 服务器响应,向 JavaScript 函数返回所请求的数据。

  6. JavaScript 函数通过使用额外的 JavaScript 和/或 DHTML 更新和修改所正在查看的页面。

负责更新当前网页的某些部分的 JavaScript 需要知道哪个 HTML 元素负责更新。要实际动态更新给定页面内的特定元素(在无需重载此页面的情况下),需要分配给这些 HTML 元素一个惟一 ID。清单 1 所示的是此演示中的一个简单的例子,稍后我们将对其进行更深入的分析:

清单 1. 为 HTML 元素分配 ID


<select id="model" disabled="disabled">
  <option value="">Select model</option>
</select>


清单 1 为这个特定的选择框分配的 ID 为 model。通过这个 ID,就可以利用 JavaScript 轻松定位和处理所选元素及其内容。

AjaxTags API 使用的是某些很好的、开源的第三方 JavaScript 库,这些库会为您完成几乎全部的繁重编程工作。其中的一个好处是这些库均包括丰富的特性并经诸多浏览器广泛测试,所以尽可放心使用。AjaxTags 所使用的第三方库包括:

  • Prototype(一种带多种实用函数的 JavaScript 库)

  • Script.aculo.us(一种带多种可视效果的 JavaScript 库)

  • Overlibmws(一种 DHTML 弹出库)

何时使用 AjaxTags

在很多典型的环境中都可以使用 AjaxTags,这样一来,不仅可以方便开发人员,而且还可以提高应用程序的用户体验。其中的一些用例包括:

  • 基于第一个下拉框中所做的选择来修改第二个下拉框的内容

  • 基于单击或鼠标悬浮事件从服务器发起对额外信息的请求,而且无需刷新用户所查看的页面

  • 基于用户输入的数据在服务器上执行计算,无需重载整个页面

让我们先来看一些如何将这些特性集成到应用程序中的实际例子

标签:ajax,开发,AjaxTags
0
投稿

猜你喜欢

  • pandas使用get_dummies进行one-hot编码的方法

    2023-10-22 06:43:02
  • javascript自定义加载loading效果

    2024-04-27 15:23:14
  • 解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程

    2023-05-17 04:25:43
  • Python logging简介详解

    2022-05-12 09:27:02
  • python构造icmp echo请求和实现网络探测器功能代码分享

    2023-07-14 15:53:43
  • 兼容PHP5的PHP目录管理函数库

    2024-06-07 15:50:41
  • Pycharm在指定目录下生成文件和删除文件的实现

    2022-04-12 20:00:28
  • MySQL分区表的正确使用方法

    2024-01-29 01:51:26
  • python pandas库读取excel/csv中指定行或列数据

    2022-10-11 21:05:04
  • Python操作word文档插入图片和表格的实例演示

    2023-09-20 08:21:09
  • 解决Django no such table: django_session的问题

    2022-04-13 22:06:21
  • 详解Python进阶之切片的误区与高级用法

    2022-09-18 04:03:12
  • python实现xml转json文件的示例代码

    2023-09-29 23:52:50
  • MySQL之导出整个及单个表数据的操作

    2024-01-17 00:52:02
  • 在Typescript中如何使用for...in详解

    2023-08-18 15:39:32
  • 简单谈谈MySQL数据透视表

    2024-01-25 05:42:07
  • python isinstance函数用法详解

    2023-05-08 12:43:56
  • Python实现简单图像缩放与旋转

    2022-02-19 05:48:17
  • python中sys模块是做什么用的

    2021-04-30 10:04:48
  • Python判断有效的数独算法示例

    2021-10-09 06:37:37
  • asp之家 网络编程 m.aspxhome.com