xajax简单小例子,提交数据
发布时间:2010-09-02 11:41 点击量:

xajax是一个开源的 PHP 类库 它能够让你黏合HTML、CSS、JavaScript和PHP,轻而易举的开发功能强大、基于WEB的AJAX应用软件. 使用xajax开发的应用软件,无需重新调入页面,就能够异步调用服务器端的PHP函数和更新内容。xajax 最大的特点是他采用了xml response,这样我们可以用php来布置,处理异步传送数据之后,网页内容的更新。而这些操作其它的ajax 框架都是由js来完成的的。xajax 使我们只需要写一些php函数,就可以实现。
仅仅需要七步,你就可以在几乎任何PHP脚本之中加入xajax的强大功能:
1. 包含xajax类库:
require_once("xajax.inc.php");
2. 实例化xajax 对象:
3. 注册你需要通过xajax调用的PHP函数的名称:
-
$xajax->registerFunction("myFunction");
4. 编写注册的PHP函数,并且在函数之中使用xajaxResponse 对象返回XML指令:
-
function myFunction($arg)
-
{
-
// 对$arg做一些基本处理例如从数据库检索数据
-
// 然后把结果赋值给变量,例如$newContent
-
-
// 实例化xajaxResponse 对象
-
$objResponse = new xajaxResponse();
-
-
// 添加指令到响应之中,用于指派
-
// 指定元素(例如id="SomeElementId")的innerHTML属性的新的内容
-
$objResponse->addAssign("SomeElementId","innerHTML", $newContent);
-
-
//返回xajaxResponse 对象生成的XML响应
-
return $objResponse;
-
}
5. 在你的脚本输出任何信息之前,调用xajax用于接管请求:
-
$xajax->processRequests();
6. 在页面的<head> 标签之间, 告诉xajax生成所必需的Javascript:
-
<?php $xajax->printJavascript(); ?>
7. 在程序中,从Javascript事件或者函数调用前面注册的函数:
-
<div id="SomeElementId"></div>
-
<button onclick="xajax_myFunction(SomeArgument);">
就这么简单. xajax 会处理其他所有的事情. 你所要做的主要工作就是编写PHP函数,然后从函数之中返回xajax的XML响应。而后者通过xajaxResponse类可以非常简单的生成.
下面是一个小例子,简单地实现了提交数据到数据库。
<?php
require ('../xajax/xajax.inc.php');
function execute($a)
{
mysql_connect('localhost','root','root') or die('无法连接服务器!');
mysql_select_db('gbook');
mysql_query("SET NAMES 'GB2312'");
$str="insert into gbook(name,content) values ('".$a["name"]."','".$a["content"]."')";
$q=mysql_query($str);
if($q)
$text="okok";
else $text=mysql_error();;
$objResponse = new xajaxResponse();
$objResponse->addAssign("msg","innerHTML",$text);
return $objResponse->getxml();
}
$xajax = new xajax();
$xajax->decodeUTF8InputOn();
$xajax->registerFunction("execute");
$xajax->processRequests();
</head>
<body>
<form id="form1" name="form1">
<div id=msg></div>
<label>
<div align="center">
<input name="name" type="text" id="name" />
</div>
</label>
<p align="center">
<textarea name="content" rows="8" id="content"></textarea>
</p>
<p align="center">
<input type="button" name="Submit" value="按钮" onClick="xajax_execute(xajax.getFormValues(form1))" />
</p>
<p align="center"> </p>
</form>
</body>
</html>
(责任编辑:admin)