注册通行证 用户名 密码
  • 文章投稿
  • 博客
  • 论坛
  • 设为首页
  • 加入收藏
jztop.com网络技术
  • 首页
  • | iT新闻
  • | 操作系统
  • | 组网建网
  • | 网络安全
  • | 程序开发
  • | 办公一族
  • | 工具软件
  • | 网页制作
  • | 多媒体制作
  • | 网吧技术
  • | 服务器
  • | 专题教程
Vista | 软件评测 | 系统备份 | 优化 | 进程 | 聊天 | 病毒 | Linux | 黑客 | 防火墙 | 数据库 | Web开发 | Java | Word | 游戏 | 32位开发 | 移动开发
当前位置:首页 > 程序开发 > WEB开发 > PHP 内容正文:通过PHP和Sajax使用Ajax之JavaScript

通过PHP和Sajax使用Ajax之JavaScript

发布时间:2006-05-31 09:58:10 来源:ibm 网友评论 0 条
  多年以来,创建真正具有响应性的 Web 应用程序这一目标一直被 Web 开发的一个简单事实所阻碍:要改变页面某一部分的信息,用户就必须重载整个页面。但是以后不再会这样了。感谢异步 Java? 脚本和 XML(Ajax),我们现在可以从服务器端请求新内容,只修改页面的一部分。这个教程解释了如何把 Ajax 用于 PHP ,并介绍了简单 Ajax 工具包(Sajax),这是一个用 PHP 编写的工具,可以把服务器端 PHP 与 JavaScript 集成。

  开始之前

  这份教程针对的是对于开发富 Web 应用程序感兴趣的人,富 Web 应用程序把异步 JavaScript 和 XML(Ajax)与 PHP 结合起来,用户每次点击时,不必刷新整个页面,就可以动态更新内容。这份教程假设读者了解基本的 PHP 概念,包括 if 和 switch 语句以及函数的使用。

  关于本教程

  在本教程中,将学习 Ajax 以及围绕它的应用的问题。将用 PHP 构建一个 Ajax 应用程序,显示以前写的一个教程中的面板。点击面板链接只会重新载入内容区,并用选定面板的内容替换它,从而节约了带宽和页面装入的时间。然后将把简单 Ajax 工具包(Sajax)集成进 Ajax 应用程序,它可以同步 Ajax 的使用,从而简化开发。

  概述

  在深入之前,先看看 Ajax、示例 PHP 应用程序和 Sajax。 Ajax

  Ajax 允许 Web 开发人员创建交互的 Web 页面,同时避免必须等候页面载入这一瓶颈。通过 Ajax 创建的应用程序,只需点击按钮,就可以用全新的内容替换 Web 页面某一区域的内容。它的精彩之处在于不必等候页面装入,只有这一个区域的内容需要载入。以 Google Maps 为例:可以点击和四处移动地图,却不必等候页面载入。

  Ajax 的问题

  在使用 Ajax 时有些事需要注意。像其他 Web 页面一样,Ajax 页面是可以加书签的,所以在使用 GET 与 POST 进行请求时就会造成问题。国际化和编码方案数量的增加,使得把这些编码方案标准化变得日益重要。在这份教程中将了解这些重要的问题。

  示例 PHP 应用程序


  首先要用 Ajax 创建一个应用程序,然后用 Sajax 创建,以展现使用这个工具包的好处。应用程序是以前编写的教程中的一部分,带有面板链接。它被用作示例,以展示使用 Ajax 的优势。因为在各个面板上点击时,它们会异步装入,而不必等候页面剩下的部分再次装入。这个示例应用程序还会展示如何创建自己的 Ajax 应用程序。

  Sajax

  如果想创建 Ajax 应用程序,又不想受 Ajax 复杂的细节所累。答案就是 Sajax。通过使用 ModernMethod 人员开发的库,Sajax 为 Web 开发人员抽象出了 Ajax 的高层细节。在底层,Sajax 的工作与 Ajax 相同。但是,通过使用 Sajax 库提供的高层函数,可以忽略 Ajax 的技术细节。

  什么是 Ajax?

  这一节是个入门介绍,用示例解释 Ajax 的概念,包括在点击链接时发生了什么,Ajax 用于 PHP 应用程序时需要的 HTML 和 JavaScript 代码。下一节将更深入一些,实际地使用在这一节学习的 Ajax 概念创建 PHP 应用程序。

  幕后内容

  Ajax 是异步 JavaScript 和 XML 的组合。之所以说异步,是因为可以点击页面上的链接,然后它只装入与点击对应的内容,同时保持标题或其他任何设定的信息不动。

  点击链接时,在背后工作的是 JavaScript 函数。JavaScript 创建与 Web 浏览器通信的对象,并告诉浏览器装入特定页面。然后可以像平常一样浏览同一页面上的其他内容,当浏览器完全装入新页面的时候,浏览器会在 HTML 的 div 标记指定的位置显示内容。

  CSS 样式代码用来和 span 标记一起创建链接。

  CSS 样式代码

  示例应用程序需要 CSS 代码,这样 span 标记看起来就像使用常规的锚标记(<a href=... >)创建的真正链接一样,也会像真正的链接一样被点击。

  清单 1. 指定 span 标记的显示信息

...
<style type="text/css">
span:visited{ text-decoration:none; color:#293d6b; }
span:hover{ text-decoration:underline; color:#293d6b; }
span {color:#293d6b; cursor: pointer}
</style>

  这些 span 标记用在示例应用程序中,颜色符合所有 IBM developerWorks 教程中链接使用的颜色。样式标记的第一行指定已经访问过的链接的颜色保持不变。鼠标经过时加下划线,光标变成指针,就像普通的锚标记(<a href... >)一样。现在来看看如何创建使用这个 CSS 样式代码的链接。

  创建使用 span 标记的链接

  在“构建 PHP 应用程序”一节中要创建的链接,将用来通过 JavaScript 与浏览器通信,告诉浏览器要去什么地方,要提取什么内容。它们不是使用锚标记的传统链接,而是使用 span 标记创建的。span 标记的观感由清单 1 的 CSS 代码决定。这里是示例:

<span onclick="loadHTML('panels-ajax.php?panel_id=0',
'content')">Managing content</span>

  onclick 处理程序指定这个 span 被点击时要运行哪个脚本。还有其他几个与 onclick 类似的指示符可以使用,包括 onmouseover 和 ondblclick。请注意在 onclick 字段中显示的是 JavaScript 函数 loadHTML ,而不是传统的 http:// 链接或由清单 panels-ajax.php? 创建的相对链接。接下来学习 loadHTML 函数。

  XMLHttpRequest 对象

  如果正在使用 Mozilla、Opera 或其他这类浏览器中的一个,那么可以使用内置的 XMLHttpRequest 对象动态地取得内容。Microsoft 的 Internet Explorer 浏览器采用另外一个对象,稍后将会学到。它们使用的方式实际上相同,而且对它们提供支持,只是添加几行额外代码的问题。

  XMLHttpRequest 对象用来通过 JavaScript 检索页面内容。稍后在示例应用程序中会使用这个代码,同 ActiveXObject 的 loadHTML 函数一起使用。请参阅清单 2 了解用法。

  清单 2. 初始化和使用 XMLHttpRequest 对象

...
<style>
<script type="text/javascript">
var request;
var dest;

function loadHTML(URL, destination){
 dest = destination;
 if(window.XMLHttpRequest){
  request = new XMLHttpRequest();
  request.onreadystatechange = processStateChange;
  request.open("GET", URL, true);
  request.send(null);
 }
}
</script>
...

  在清单 2 中作为参数传递的 destination 变量指出 XMLHttpRequest 对象要去装入内容的地方,由 <div id="content"></div> 标记指定。然后代码会检查 XMLHttpRequest 对象是否存在,如果存在,就创建一个新的。然后,事件处理程序被设置为 processStateChange 函数,这个函数是对象在每次状态变化时都会调用的函数。请求剩下的部分就是用 open 方法进行设置,设置传输类型为 GET,并设置对象要装入的 URL。最后调用对象的 send 方法,让对象实际发挥作用。

相关文章
    无相关信息
【评论】【收藏本文】【打印】【关闭】
上一篇文章:PHPUnit袖珍指南之命令行测试工具
下一篇文章:WAP与PHP程序设计之基础篇
讨论区
查看
已有 0 位对此新闻感兴趣的网友发表了看法
匿名发表
注册通行证 登陆
图文阅读推荐
结合AJAX进行PHP开发之入门
结合AJAX进行PHP开发之入门
推荐阅讯
  • PHP调用三种数据库的方法
  • PHPMaker V3.2下载地址列表
  • PHP调用三种数据库的方法(3)
  • PHP实现简单线性回归之数据研究工具
  • PHP强制对象类型之instanceof操作符
  • PHP5 OOP编程之代理与定制异常
  • 利用PHP的OOP特性实现数据保护
  • 如何对PHP程序中的常见漏洞进行攻击
  • PHP+MySQL应用中使用XOR运算加密算法
  • PHP 和 MySQL 基础教程(一)
阅读排行
  • 1.实例学习PHP之表单处理篇(一)
  • 2.实例学习PHP之表单处理篇(二)
  • 3.结合AJAX进行PHP开发之入门
  • 4.PHP V5.0.5下载列表
  • 5.用PHP读取和编写XML DOM
  • 6.使用"函数递归"实现动态树型菜单
  • 7.PHP环境下配置在线编辑器FCKeditor
  • 8.利用PHP和AJAX创建RSS聚合器
  • 9.实例学习PHP之投票程序篇(二)
  • 10.实例学习PHP之投票程序篇(一)
专题教程
  • 大话G游 专题:手机病毒揭密
  • ARP攻击防范与解决方案 路由故障处理手册
  • Picasa中文版_Picasa教程 专题:清除流氓软件
  • Firefox专题 seo搜索引擎优化专区
  • 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
  • 杀毒软件反被病毒杀 连"救命"都不能喊
  • 金山ARP防火墙
  • 还原卡神话破灭“机器狗”病毒来势汹汹
  • cctv经济半小时:你的手机现在安全吗?
  • 新挂马方式开始流行 ARP挂马称雄局域网
  • 木马和病毒清除的通用解法
  • IP地址不再冲突 查找ARP攻击者元凶
  • 教你几招识别和防御Web网页木马
  • 分析:封杀BT只是暂时的止痛药
  • QQ爆危险漏洞,“QQ游戏邀请大盗”邀请你玩病
关于我们 | 诚聘英才 | 联系我们 | 版权声明 | 网站大事 | 网站地图 | 意见建议
CopyRight 2005-2007 Jztop.Com 版权所有 未经许可 请勿转载