当前位置:首页 > 网络编程 > WEB编程 > PHP > xajax从0.2升级到0.5的改变

xajax从0.2升级到0.5的改变

点击次数:17 次 发布日期:2008-12-24 11:45:07 作者:源代码网
源代码网推荐

xajax目前已经升级到0.5版本,旧版本的XAJAX与新版本的方法有些不同,新版本增加了延迟事件(delay events)和插件,具体请看内容

  1 附加

  1.1 延迟事件(delay events)

  1.2 插件


  2 Changes

  2.1 请求类型(request type)

  2.2 响应命令(Response Commands)

  2.3 目录结构(Folder Structure)

  2.4 方法重命名(Method Renaming)


  3 快速参考

  附加

  延迟事件(delay events)

  你现在可以指定自己的延迟事件,或调用独立的"读取中..."函数(附全局延迟事件/函数);使用

00000">
xajax.call("functioname",{onRequestDelay:delayFunctionName});
  插件

  xajax现在已经拥有一套插件系统,因此你可以扩展它使其与其它框架如script.aculo.us协同工作。下面是一段插件调用的示例:

00000">
xajaxResponse->plugin(‘scriptaculous’)->fade(‘myDiv’);
  Changes

  请求类型(request type)

  请求类型的设置选项已经被去掉,因为大多数情况下使用的是POST方法。另外,POST方法允许在请求过程中发送更多的数据。GET请求方法被用作POST请求失败后的备选方案。

  响应命令(Response Commands)

  xajaxResponse已经被重构,可以用以支持将来可能出现的其它数据传输方法。目前响应命令是以数组方式存储的;数组在响应发送前会被转换为XML。以前的XML是通过字符串连接方式构建为命令添加在响应之后。

  目录结构(Folder Structure)

  xajax目录结构已经更改,使PHP文件和Javascript文件相互独立。所有PHP文件放在xajax_core目录下,所有Javascript文件放在xajax_js目录下。

方法重命名(Method Renaming)
  请注意:你可以通过new legacyXajax()实例化方法取代new xajax()实例化方法、new legacyXajaxResponse()实例化方法取代new xajaxResponse()实例化方法保留所有以前的方法。

xajax方法

  xajax->processRequests()变为xajax->processRequest()

  所有布尔值设置方法如xajax->debugOn();and xajax->outputEntitiesOn();变为xajax->setFlag("debug",true)以及xajax- >setFlag("outputEntities",true); xajax->setFlags()还可以设置数组值如xajax->setFlags(array("debug"=>true, "outputEntities"=>true));

  xajax->registerExternalFunction()方法已经与xajax-> registerFunction()整合到一起,因此xajax->registerFunction()函数现在有一个可选的第二参数,如 xajax->registerFunction("functionName", "file.php")

xajaxResponse方法

  许多xajaxResponse方法都发生了改变。以前容易混淆的"add"前缀从很多函数中移出;于是乎,xajaxResponse- >addScript()变成了 xajaxResponse->script(),xajaxResponse->addAssign()变为xajaxResponse- >assign()。将响应与PHP5合到一起就比较有意思了:

$response

->alert("Hi!")

->assign("myDiv", "innerHTML", $stuff)

->plugin("script.aculo.us")->highlight("myDiv")

->scriptCall("finishEditing", $newID);

  xajaxResponse->getXML()不用了;只需返回xajaxResponse对象即可。

旧代码 新代码
 
require_once("xajax.inc.php"); require("xajax_core/xajax.inc.php");
 
xajax->debugOn(); xajax->setFlag("debug",true);
xajax->debugOff(); xajax->setFlag("debug",false);
xajax->statusMessagesOn(); xajax->setFlag("statusMessages",true);
xajax->statusMessagesOff(); xajax->setFlag("statusMessages",false);
xajax->decodeUTF8InputOn(); setFlag("decodeUTF8Input",true)
xajax->registerExternalFunction("function","file.php"); xajax->registerFunction("function","file.php");
xajax->processRequests(); xajax->processRequest();
 
xajaxResponse->loadXML($response); xajaxResponse->loadCommands($response);
return xajaxResponse->getXML(); return xajaxResponse
xajaxResponse->addAssign(); xajax->assign()
xajaxResponse->addAlert(); xajax->alert()
xajaxResponse->addClear(); xajax->clear()
xajaxResponse->addCreateInput(); xajax->createInput()
xajaxResponse->addCreate(); xajax->create()
xajaxResponse->addRemove(); xajax->remove()
xajaxResponse->addScript(); xajax->script()
xajaxResponse->addScriptCall(); xajax->call()
 
xajax.createInput() xajax.forms.createInput()
xajax.create() xajax.dom.create()
xajax.remove() xajax.dom.remove()
xajax.loadingFunction = function(){}; xajax.callback.global.onRequest= function(){};
xajax.doneLoadingFunction = function(){}; xajax.callback.global.onComplete= function(){};
new function xajax.callback.global.onFailure = function(args)

  {

alert("In global.onFailure...HTTP status code: " + args.request.status);

}

本文作者:未知
源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华