当前位置:主页 > 新闻 > 春蕾手记 >
php与ajax的应用:xajax基本介绍

xajax 是一个开源的 PHP 类库,用来构建WEB上的Ajax 程序,它本身是一个以Server为主的Ajax函示库,也就是说很多的商业逻辑将会放在Server Side的php程序里。使用xajax开发的应用软件,无需重新调入页面,就能够异步调用服务器端的PHP函数和更新内容。 郑州网站建设整理发布

  xajax 最大的特色是支持 UTF-8 及 Smarty,client 端不用自己写 callback,client 端送出运算请求给 Server 端后,Server 端可以直接把运算结果传送到网页元素上。至于 Smarty 支持的部份,因为 Client 端只需一行 $xajax->printJavascript(); 就可以产生 AJAX 所需的 Javascript,所以应该大部份的 Template engine 也都支持。
如何安装xajax

xajax安装环境:
•     Apache Web服务器或Windows XP/2003上的IIS服务器
•     PHP 4.3.x或PHP 5.x
•     浏览器最低要求:IE5.5,Firefox 1.0,或相当的基于Gecko内核的浏览器,Safari 1.3,Opera 8.5。老版本仅对GET方法有效。

安装方式:
xajax 版本发布
•     xajax 0.2 = 稳定版 (当前版本号 0.2.5)
•     xajax 0.5 = 测试版 (当前版本号 0.5 beta 2)

xajax使用范例
require_once( 'xajax/xajax.inc.php' ); //引入xajax函式
//建立xajax对象
$xajax=new xajax();
//以下决定是否要使用 xajax debug
//$xajax->debugOn(); // Uncomment this line to turn debugging on
//注册在php中所要呼叫的函式
$xajax->registerFunction("myFunction");
//处理呼叫
$xajax->processRequests();
?>
"http://www.w3.org/TR/html4/loose.dtd">






printJavascript('xajax/'); ?>


 

请输入你的大名:

 

 


function myFunction($aFormValues)
{
//创建一个xajaxResponse物件
$objResponse = new xajaxResponse();
//接收窗体post的数据
$username = $aFormValues['username'];
if (trim($username) == "")
{
//产生错误讯息的alert
$objResponse->addAlert("名字尚未输入!");
//回传xajaxResponse物件
return $objResponse;
}
else
{
//设定id为"outputDiv"的div元素的innerHTML属性为"xxx,你好!!"
$objResponse->addAssign("outputDiv","innerHTML",$username.',你好!!');
//回传xajaxResponse物件
return $objResponse;
}
}
?>


详细说明:

require_once( 'xajax/xajax.inc.php' ); //引入xajax函式
//建立xajax对象 郑州网站建设
$xajax=new xajax();
//以下决定是否要使用 xajax debug
//$xajax->debugOn(); // Uncomment this line to turn debugging on
//注册在php中所要呼叫的函式
$xajax->registerFunction("myFunction");
//处理呼叫
$xajax->processRequests();
?>
初始化xajax函式,注意红字部分为所要呼叫的function名称。
printJavascript('xajax/'); ?>
在你的HTML的 卷标之间加入此php语法以产生xajax初始化所需的代码。

请输入你的大名:

 

 

用来传值的窗体,注意红字的部分为触发xajax的方法。
•     xajax_xxx():xxx的部分为之前呼叫的function名称,如xajax_myFunction。
•     xajax.getFormValues('xxx'):xajax可利用此方法取得窗体所传送的数据,xxx的部分为窗体名称,如xajax.getFormValues('form1')。
•    
 
:用来显示回传讯息的div。
function myFunction($aFormValues)
{
//创建一个xajaxResponse物件
$objResponse = new xajaxResponse();
//接收窗体post的数据 郑州网站建设
$username = $aFormValues['username'];
if (trim($username) == "")
{
//产生错误讯息的alert
$objResponse->addAlert("名字尚未输入!");
//回传xajaxResponse物件
return $objResponse;
}
else
{
//设定id为"outputDiv"的div元素的innerHTML属性为"xxx,你好!!"
$objResponse->addAssign("outputDiv","innerHTML",$username.',你好!!');
//回传xajaxResponse物件
return $objResponse;
}
}
?>
被呼叫到的php function,注意红字的部分就是之前呼叫的function名称。
•     $objResponse = new xajaxResponse():创建一个xajaxResponse对象,用来处理xajax回传程序的对象。
•     $objResponse->addAlert("xxx"):产生弹出讯息的JavaScript,xxx部分可填入想显示的讯息。
•     $objResponse->addAssign("outputDiv","innerHTML","xxx"):设定id为"outputDiv"的div元素的innerHTML属性为"xxx",xxx部分可填入想显示的讯息。
•     return $objResponse:回传xajaxResponse物件
 
以上所有这些功能都是在服务器端PHP函数中通过构造并返回一个XML回应来实现的。
 
Top