是否可以在不使用组件助手的情况下处理Joomla中的ajax调用?
例如;我想创建一个进行ajax调用的模块。我知道如何使用组件助手(index.php?option = com_myhelper ....& format = raw)来处理调用,但是我想从模块中获取组件助手。
有没有办法调用Joomla模块,就像从外部脚本调用Joomla组件一样(http://mydomain.com/index.php?option=com_myhelper....&format=原料)?
答案 0 :(得分:1)
您是否需要从domainA调用AJAX函数到domainB? 如果是这样,您必须使用代理。
我做了什么,也许可以提供帮助:
组件的JS:
J.ajax({
type: 'GET',
url: '/index.php',
data: {
option: 'com_mycomponent',
task: 'getTaskFromTheController',
param: 'paramValue1'
},
success: function(data) {
J('#suggestions').fadeIn();
J('#suggestions').html(data);
J('#suggestions .close-image').click(function() {
J('#suggestions').fadeOut();
});
}
的更多信息
在组件的controller.php中添加函数getTaskFromTheController
public function getTaskFromTheController()
{
global $mainframe;
$model =& $this->getModel();
// If GET
// $param= JRequest::getVar('param');
// If POST
// $param = JRequest::getVar('param', '', 'post', 'string');
//Or
// $param = JRequest::getVar('param', '', 'post', 'string', JREQUEST_ALLOWHTML);
echo $model->getUserTaskAjax($param);
$mainframe->close();
}
有趣的链接: http://forum.joomla.org/viewtopic.php?p=2424982 http://docs.joomla.org/Adding_AJAX_to_your_component How to use jQuery ajax in Joomla module