一般很少看到joomla中使用ajax,笔者以前说到过用jquery来实现,对于那些验证用户名不能重复,邮箱不能重复,以及联动菜单,等等的应用,使用ajax是免不了的,今天笔者在这里讲一讲使用joomla自带的mootools javascript库的实现ajax,由于是自带库,所以不用管有没有jquery,那么怎么实现呢,首先建立一个ajax的获取按钮,一般我们都是在组件的编辑中用到,所以文件一般在views\你的视图\tmpl\default.php里面:
<input type="button" id="ajaxButton" value="Get方式" /> <div id="someID"></div> $doc =& JFactory::getDocument(); $script = <<<SCRIPT window.addEvent('domready', function() { $('ajaxButton').addEvent('click', function () { new Ajax( 'index.php?option=com_category&controller=category&task=aj&format=ajax', { method: 'get', update: 'someID' } ).request(); }); }); SCRIPT;
input这一行是一个获取ajax的按钮,接着是显示返回数据的div层,下面就是使用ajax的mootools代码,简单说下,这里是通过getDocument类方法添加js到文档head里面,注意这里$是代表mootools类库,ajax里面的网址参数首先是组件名,控制器名,执行的方法aj,这个写在控制器里面,就是点击后执行的方法,需要写返回数据,最后就是返回数据类型,这里必须是ajax,否则会把整个文档都返回,我们这里只要aj方法的返回数据部分.有两个参数,get是获取数据方式,someID是绑定的返回数据显示id,这都是必须的.
ajax使用不是必须的,但是有时候不得不用,如果使用原生态的,我想加载还是很快的,mootools库笔者也没有用过,只是照猫画虎,这里毕竟是提供了一种实现ajax的方法,怎么实现POST方法呢,只需要添加相应表单元素即可.在这里笔者就不多说了,因为用的不是很多.好了,就讲到这里,就不提供例子了,如果你需要可以在遇到编辑表单元素时候试试代码什么的都很短,copy一下就好了!