xajax 网页开发步骤
1. 构建对象及初始化设置
require_once(“ ./xajax/xajax_core/xajax.inc.php”); //包含类文件
$xajax= new xajax(); //创建对象
$xajax->configure(“javascript URL”,”./”) //设置javascript 路径
autoCompressJavascript(‘./xajax/xajax_js’);
路径程序可以自己设置,算法很精良,一般不会出错 。
2.注册响应函数
处理请求/产生响应函数的操作都可以封装在一个自定义的 “响应函数”中,并用前一步创建的xajax 对象调用 register() 方法注册”响应函数”也就是让 xajax 知道当发生异步请求时,它要调用谁来处理。
$xajax->register( XAJAX_FUNCTION ,’adding’); //注册响应函数
XajaxRequst 类提供的方法来产生此段程序。
要产生客户端调用响应函数的JavaScript 程序代码,必须在注册响应函数时获取其返回的XajaxRequest 对象。(也就是说xajax->register() 函数返回XajaxRequest类对象)。
1XajaxRequest 类对象的 addParameter() 方法
此方法的用途是设置客户端的 xajax_xxx() 调用中所要加入的参数。加入的方式是在调用方法时,指定参数的类型及参数值。
$Request->addParameter( sType , sValue)
其中: sType :参数类型 sValue :参数值
类型: XAJAX_FORM_VALUES
XAJAX_INPUT_VALUES
XAJAX_CHEKED_VALUES
XAJAX_ELEMENT_INNERHTML
XAJAX_JS_VALUE 好多好多
2在需要调用JavaScript 程序的位置,调用 printscript()输出客户端的xajax_xxx()调用。
比如 onclick=”$Request->printscript()”;
3.请 xajax 处理异步请求
$xajax->processRequest(); //处理异步请求
l 判断客户端调用的是哪一个响应函数。
l 以客户端请求中发送的参数调用响应函数来处理。
l 响应函数处理完毕后, processRequest 会调用 exit()结束程序。
4.编写响应函数
用register() 方法注册响应函数后,就必须编写这个响应函数,返回处理后的结果。
响应函数是使用xajaxResponse 类对象的 assign() 方法设置响应的内容。
$objResponse=new xajaxResponse();
$objResponse->assign( $sTarget , $sAttribute , $sData);
其中: $sTarget :要设置的HTML元素的id。
$sAttribute: 要设置的属性名称。
$sData: 要设置的 填充内容。
1assign()方法指定更改某个标记的内容来产生要响应给客户端数据。
2append(),prepend()这两个方法用法与语法与 assign() 类似,只不过是将数据”追加”到指定标记现有数据的 后面/前面。
3$objResponse->alert(‘来自PHP的信息’);
alert()的参数是一个文字信息,它会让客户端执行 Javascript 的 alert()显示信息框。
4call()以客户端的JavaScript 函数为参数调用此方法。
$objResponse->call(‘test’);
5script()方法是在客户端执行一段JavaScript 程序,调用时必须将 “客户端要执行的程序”(字符串)当成 script()的参数。
$objResponse->script(‘window.close()’);
6redirect()方法的作用是让客户端重定向参数所指的网页。
$objResponse->redirect(‘http://www.flag.com’);
5. 输出JavaScript 程序代码
最后要处理的就是客户端的JavaScript 程序,虽然我们不必自行编写AJAX的Javascript 程序,但是仍然需要请xajax帮忙输出这些程序。
在网页的<head>段落中调用xajax的printJavaScript()方法,即可输出xajax的JavaScript程序代码。
$xajax->printJavaScript(); //此处参数与URL正确设置有关
错误提示:
Error: the xajax javascript component could not be included.
Perhaps the URL is incorrect?
URL: ../xajax_js/xajax_core.js
在printJavaScript()输出的程序代码中,除了 xajax 共享的部分外,它也会替前面注册的PHP响应函数产生对应的 xajax_xxx() 函数供我们在客户端使用。
特别说明:异步调用很好用的一点是在框架里边。异步的内容设定为"heredoc" or "newdoc"(php5.3)的内容,可以实现一个页面不重新加载的情况下显示
两种或者以上的内容。