Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)归海一刀
published in(发表于) 2014/3/16 2:53:58
十分钟学会 xajax_[AJAX教程]

十分钟学会 xajax_[AJAX教程]

译者按: 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(); ?>


call the function from a javascript event or function in your application:
从你程序中的js 事件或函数调用之前你已经注册过的相对应函数