【php_ajax】十分钟学会 xajax

jackxiang 2006-12-27 12:30 | |

十分钟学会 xajax


learn xajax in 10 minutes(原文摘自xajaxproject 官方wiki)

译者按: xajax 最大的特点是他采用了xml response,这样我们可以用php来布置,处理异步传送数据之后,网页内容的更新。而这些操作其它的ajax 框架都是由js来完成的的。xajax 使我们只需要写一些php函数,就可以实现。
所有学好xajax的关健在于熟练掌握 xajaxresponse 类。

tutorials:learn xajax in 10 minutes
教程:十分钟学会 xajax

using xajax in a php script
一个使用的xajax的php脚本:

include the xajax class library:
调用xajax类库:

require_once("xajax.inc.php");

instantiate the xajax object:
实例化xajax对象

$xajax = new xajax();

register the names of the php functions you want to be able to call through xajax:
注册一个你想用xajax来调用的php函数名(与javascript中的函数名相对应 xajax_myfunction)

$xajax->registerfunction("myfunction");

write the php functions you have registered and use the xajaxresponse object to return xml commands from them:
编写那个你刚刚已经注册的php函数,并从中用 xajaxresponse 对象来返回xml指令集

function myfunction($arg)
{
   // do some stuff based on $arg like query data from a database and
   // put it into a variable like $newcontent
   //对参数$arg做一些诸如:从数据库中获取数据后定义给$newcontent 变量的基本操作
 
   // instantiate the xajaxresponse object
   //实例化 xajaxresponse 对象
   $objresponse = new xajaxresponse();
 
   // add a command to the response to assign the innerhtml attribute of
   // the element with id="someelementid" to whatever the new content is
   // 在响应实例中添加一个命令,用来将id为someelementid的innerhtml元素属性
   // 变为任何新的内容.
   $objresponse->addassign("someelementid","innerhtml", $newcontent);
 
   //return the xml response generated by the xajaxresponse object
   //返回由 xajaxresponse 对象所生成的xml 响应
   return $objresponse->getxml();
}

before your script sends any output, have xajax handle any requests:
在你脚本传送出任何东西前,xajax都要处理所有请求

$xajax->processrequests();

between your tags, tell xajax to generate the necessary javascript:
在该页的和标签之间插入下列代码,使xajax实例可以自己生成所必需的js

printjavascript(); ?>

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/424/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!

评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]