【问题标题】:Ajax call with module helper带有模块助手的 Ajax 调用
【发布时间】:2012-05-22 22:45:03
【问题描述】:

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

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

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

【问题讨论】:

    标签: joomla joomla1.5 joomla-extensions joomla2.5


    【解决方案1】:

    是否需要从 domainA 到 domainB 调用 AJAX 函数? 如果是这样,您必须使用代理。

    我所做的,也许可以帮助:

    组件的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 How to use jQuery ajax in Joomla module

    【讨论】:

    • 是否可以使用模块作为代理而不是组件?
    • 我不是 100% 确定,但是 Joomla!模块工作流程不是为此目的而设计的(如果我错了,请纠正我)。但是您可以创建一个 proxy.php 文件,并且可以包含 Joomla!框架 [链接]stackoverflow.com/questions/2445549/…
    • 这也是我的结论。包含框架的独立 php 文件的提示值得进一步研究。很好的提示,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多