热烈祝贺台州朗动科技的站长论坛隆重上线!(2012-05-28)    热烈庆祝伟大的祖国60周年生日 点击进来我们一起为她祝福吧(2009-09-26)    站长论坛禁止发布广告,一经发现立即删除。谢谢各位合作!.(2009-08-08)    热烈祝贺台州网址导航全面升级,全新版本上线!希望各位一如既往地支持台州网址导航的发展.(2009-03-28)    台州站长论坛恭祝各位新年快乐,牛年行大运!(2009-01-24)    台州Link正式更名为台州网址导航,专业做以台州网址为主的网址导航!(2008-05-23)    热烈祝贺台州Link资讯改名为中国站长资讯!希望在以后日子里得到大家的大力支持和帮助!(2008-04-10)    热烈祝贺台州Link论坛改名为台州站长论坛!希望大家继续支持和鼓励!(2008-04-10)    台州站长论坛原[社会琐碎]版块更名为[生活百科]版块!(2007-09-05)    特此通知:新台州站长论坛的数据信息全部升级成功!">特此通知:新台州站长论坛的数据信息全部升级成功!(2007-09-01)    台州站长论坛对未通过验证的会员进行合理的清除,请您谅解(2007-08-30)    台州网址导航|上网导航诚邀世界各地的网站友情链接和友谊联盟,共同引领网站导航、前进!(2007-08-30)    禁止发广告之类的帖,已发现立即删除!(2007-08-30)    希望各位上传与下载有用资源和最新信息(2007-08-30)    热烈祝贺台州站长论坛全面升级成功,全新上线!(2007-08-30)    
便民网址导航,轻松网上冲浪。
台州维博网络专业开发网站门户平台系统
您当前的位置: 首页 » AJAX编程 » xajax中文手册(HonestQiao第一版,FlyingHail修改版)<一>

xajax中文手册(HonestQiao第一版,FlyingHail修改版)<一>

论坛链接
  • xajax中文手册(HonestQiao第一版,FlyingHail修改版)<一>
  • 发布时间:2007-09-14 22:33:16    浏览数:8232    发布者:tzlink    设置字体【   
<一>包含的内容:
* 什么是xajax?
* xajax如何工作?
* 为什么我要使用xajax代替其他PHP的Ajax库?
* 如何在我的PHP脚本之中使用xajax?

最早发布在我的个人Blog,文章地址:http://www.flyinghail.net/?p=44

原文:http://xajax.sourceforge.net/
英文原版:Copyright © 2005 J. Max Wilson
简体中文翻译:HonestQiao(乔楚)/2005-12-7 17:23/(第一版)
修改&补充:FlyingHail/2006.08.01 16:43/参考:http://wiki.xajaxproject.org/
什么是xajax?
  xajax是一个开源的 PHP 类库 它能够让你黏合HTML、CSS、Javascript和PHP,轻而易举的开发功能强大、基于WEB的AJAX应用软件. 使用xajax开发的应用软件,无需重新调入页面,就能够异步调用服务器端的PHP函数和更新内容.

xajax 如何工作?
  你的应用软件需要异步调用的PHP函数, xajax的PHP对象都生成了对应的封装好了的Javascript函数. 当被调用时,封装的函数使用Javascript的XMLHttpRequest对象与服务器异步通讯,调用xajax对象对应的PHP函数. 调用结束后, PHP函数由xajax返回一个xajax的XML响应传递给应用程序. XML响应包含了特定的指令和数据,他们可以被xajax的Javascript消息分析器解析,并且被用于更新你的应用程序的内容.

为什么我要使用xajax代替其他PHP的ajax库?
  你应该选择一个最适合你的项目需要的库。
  xajax 提供了以下的功能, 它们使得ajax富有特色而又功能强大:

  * xajax特殊的 XML 响应 / javascript 消息分析系统 帮助你做到, 自动的处理函数返回的数据,按照PHP函数返回的指令更新内容或者状态. 因为xajax作了这些工作, 你不需要写javascript的回调处理函数.

  * xajax反对将代码和数据紧密地杂糅在一起的主张, 并且保持xajax的代码从与他代码分离. 因为它是对象构造的, 你可以加上自己定制的功能给xajax去扩展xajaxResponse 类和使用addScript方法.

  * xajax 可以工作在 Firefox, Mozilla, 大部分基于 Mozilla 的浏览器, Internet Explorer, 和 Safari.

  * 除了更新元素的值和内含的HTML内容(innerHTML), xajax 还能用于更新样式(styles), css 类, 多选和单选按钮选择,甚至可以更新任何元素的属性.

  * xajax 支持使用一维或者多维数组、关联数组(哈希数组) 作为xajax函数的参数从javascript传送给PHP. 反之Additionally, 如果你传送一个javascript的对象给xajax函数,PHP函数将接受一个描叙对象属性的关联数组(哈希数组).

  * xajax 提供了一种简单的异步表单处理方式. 使用 xajax.getFormValues() javascript 方法, 你可以轻而易举的在表单之中提交一个描绘值的数组作为参数传送到xajax异步处理函数:
  


JavaScript:

xajax_processForm(xajax.getFormValues('formId');
  它可以处理复杂的input 元素名称 ,例如 "checkbox[][]" 或者 "name[first]" 产生的多维或者关联数组(哈希数组), 就是普通提交表单那样使用PHP的$_GET数组

  * 使用xajax你可以动态的发送附加的javascript作为请求的响应到你的应用软件中运行,而这就和动态的更新元素的属性一样方便.

  * xajax会自动比较PHP函数返回的数据与你已经标记需要修改的元素属性. 只有当新的数据确实可以改变现有的属性,属性才会真的被更新. 这将可消除程序在一定时间间隔内更新与当前内容相同或者不同的内容而出现的明显的闪烁.

  * 每一个通过xajax简单注册的函数都可以有不同的请求方式. 所有的函数默认使用POST方式,除非你明确的指定使用GET方式. 如果使用GET请求,你必须非常明确的考虑它确实是你所需要的

  * 如果没有指定URI,xajax将设法自动确定脚本的URI. xajax的自动确定算法经过了充分的验证,确保在大部分HTTPS或者未知端口的HTTP服务器上也可以正常的工作.

  * xajax使用UTF8编码所有的请求和响应,以确保支持绝大部分的字符和语言. xajax已经成功测试了多种不同的UNICODE字符,包括Spanish, Russian, Arabic, and Hebrew

  * 几乎所有xajax生成的javascript都可以通过动态的外部javascript包含到你的web程序之中. 当你在浏览器之中查看程序的源代码时,不会有Javascript的函数定义混杂在HTML标记之中.

  * xajax可以使用在Smarty模板系统之中,仅仅需要创建一个smarty变量就可以包含xajax的javascript:
   


PHP:

$smarty->assign('xajax_javascript', $xajax->getJavascript());
   然后你可以使用在header模版之中使用
   


SMARTY:

{$xajax_javascript}
   从而把xajax应用到你的站点.

如何在我的PHP脚本之中使用xajax?
  xajax的设计是如此的富有特色,以至于不管是已有的web程序还是新的项目,它都能够被极其简单的部署和应用. 仅仅需要七步,你就可以在几乎任何PHP脚本之中加入xajax的强大功能:

1. 包含xajax类库:

  


PHP:

require_once("xajax.inc.php");
2. 实例化xajax 对象:

  


PHP:

$xajax = new xajax();
3. 注册你需要通过xajax调用的PHP函数的名称:

  


PHP:

$xajax->registerFunction("myFunction");
4. 编写注册的PHP函数,并且在函数之中使用xajaxResponse 对象返回XML指令:

PHP:

function myFunction($arg)
{
  // 对$arg做一些基本处理例如从数据库检索数据
  // 然后把结果赋值给变量,例如$newContent

  // 实例化xajaxResponse 对象
  $objResponse = new xajaxResponse();

  // 添加指令到响应之中,用于指派
  // 指定元素(例如id="SomeElementId")的innerHTML属性的新的内容
  $objResponse->addAssign("SomeElementId","innerHTML", $newContent);

  //返回xajaxResponse 对象生成的XML响应
  return $objResponse;
}
5. 在你的脚本输出任何信息之前,调用xajax用于接管请求:

PHP:

$xajax->processRequests();
6. 在页面的 标签之间, 告诉xajax生成所必需的Javascript:

PHP:

<?php $xajax->printJavascript(); ?>
7. 在程序中,从Javascript事件或者函数调用前面注册的函数:

HTML:

<div id="SomeElementId"></div>
  <button onclick="xajax_myFunction(SomeArgument);">
  就这么简单. xajax 会处理其他所有的事情. 你所要做的主要工作就是编写PHP函数,然后从函数之中返回xajax的XML响应。而后者通过xajaxResponse类可以非常简单的生成.
娱乐休闲专区A 影视预告B 音乐咖啡C 英语阶梯D 生活百科
网页编程专区E AMPZF HTMLG CSSH JSI ASPJ PHPK JSPL MySQLM AJAX
Linux技术区 N 系统管理O 服务器架设P 网络/硬件Q 编程序开发R 内核/嵌入
管理中心专区S 发布网址T 版主议事U 事务处理