%18 %399 %2013 %16:%七 %PM

在Joomla2.5中运行Ajax

作者
给本项目评分
(0 得票数)

 

ajax是一项很流行的技术。很多地方都需要用到ajax.那么在joomla中我们可以怎样使用ajax呢?这就是本章要解决的问题。

 

在Joomla2.5中运行简单的AJax调用。

加载 Mootools

Joomla系统自动加载Mootools1.3.2.如果系统没有加载,我们可以手动加载:

JHTML::_('behavior.mootools');

JHTML::_('behavior.framework',true);

 

MooTools 要求的类

我们用Request的构造函数来构造Request对象。构造函数接收一个参数,选项,用这个参数来设置我们的Request对象。

var url="index.php?option=com_hello&format=raw&task=listFilelds";

var data='name=Myname&age=23';

var request = new Request({

url:url;

method:'post',

data:data,

async:true;

onSuccess:function(responseText)

{

           document.getElementById('fields-container').innerHTML=responseText;

}

}).send();

 

 

在上面的代码中,listFields 应该出现在controller.php中。

一把情况下,POST是默认设置。async默认为true.如果默认的选项满足我们的要求,那么我们可以在构建对象的,直接忽略掉这个选项。

var url="index.php?option=com_hello&format=raw&task=listFields";

var data='name=MyName&age=23';

var request= new Request(

{

  url:url,

data:data,

onSuccess:function(responseText)

{

   document.getElementById('fields-container').innerHTML = responseText;

}

}).send();

 

onSuccess这个事件当请求成功完成时才触发。还有其他的一些类似的事件也是可以用的。比喻说:onRequest,onFailure,onTimeout等等。

下面是点击事件触发的源代码:(tmpl/default.php的<script>标签中)

Function runButton()

{

   var iname  = document.getElementById('idname').value;

   var iage = document.getElementBYId("idage").value;

   var url="index.php?option=com_hello&format=raw&task=listFields";

  var data="name="+iname+'&age='+iage;

  var request= new Request({

  url:url,

method:'get',

data:data;

onSuccess:function(responseText)

{

   document.getElementById('fields-containner').innerHTML=responseText

}

}).send();

}

listFields:是一个函数,这个函数定义在controller.php中。

public function listFields(){

 $name1 = JRequest::getVar('name','','get','cmd');

$age1 = JRequest::getVar('age',",get",'cmd');

echo 'name='.$name1;

echo 'age=$age1';

}

 

 

 

 

阅读 4329 次数 最后修改于 %18 %213 %2014 %12:%七 %PM