1

是否可以在不使用组件助手的情况下处理 Joomla 中的 ajax 调用?

例如; 我想创建一个进行 ajax 调用的模块。我知道如何使用组件助手 (index.php?option=com_myhelper....&format=raw) 来处理调用,但我想从模块中制作它而不是组件助手。

有什么方法可以调用 Joomla 模块,就像从外部脚本 (http://mydomain.com/index.php?option=com_myhelper....&format=raw) 调用 Joomla 组件一样?

4

1 回答 1

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();                    
        });     
    }

有关jQuery POST/GET的更多信息

在组件的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 如何在 Joomla 模块中使用 jQuery ajax

于 2012-06-18T15:32:38.587 回答