jquery - 如何正确编码 Joomla MVC 组件以执行 jQuery AJAX GETS/POSTS?

标签 jquery joomla

所以,我得到了这个令人惊叹的 Joomla 组件,完成后,它将带来世界和平,并解决世界饥饿问题。我所要做的就是合并通过 jquery .ajax 调用调用的代码。我目前将它们放在外部位置,以便 AJAX 调用可以到达它们,但不清楚如何将它们正确放置在 Joomla 组件结构中。

相信我,我已经做了研究,但只发现了很多关于“你可以尝试这个或那个”的讨论。大概是因为 Joomla 依赖 mootools,所以 Jquery 通常不在讨论范围内,但我们内部有这个很棒的 jQuery 例程库,我想以正确的方式利用它。

在我看来,必须为每个调用创建一个 View ,这似乎需要大量不必要的工作/开销来完成它。 (就像要求飞行员与乘客一起办理登机手续)。在我看来,这不应该这么困难,所以我对我错过的东西感到困惑,或者为什么似乎没有一个直接的答案。

更新解决方案 接受 Soren 的答案,因为它直接回答了问题,尽管我没有指定 Joomla 1.5,但我能够快速调整他的答案以适应工作。

值得一提的是 Greg P,他的回答开启了一个充满其他可能性的世界,而我没有考虑过这些可能性来快速解决我遇到的其他项目/挑战。

这是我能够使用 AJAX 成功从我的组件调用我的组件的 URL,以及我添加的内容以使其正常工作。

index.php?option=com_mycomponent&format=raw&controller=ajax.raw&task=myfunction

组件\com_mycomponent\controllers\ajaxraw.php

<?php
    defined('_JEXEC') or die( 'Restricted access' );
    jimport('joomla.application.component.controller');
    class MycomponentControllerAjaxraw extends JController
    {
        function myfunction()
        {
            echo json_encode("SomethingOrOther");
        }
    }
?>

最佳答案

您应该进行 Ajax 调用

index.php?option=com_yourcomponent&task=ajax.function_name&format=raw

然后,您需要创建一个名为 ajax.raw.php 的新 Controller ,并在其中编写名称与 URL 中的“function_name”匹配的函数,并且它们将在调用 URL 时执行。

在这些模型中,您可以使用模型 $this->getModel();和 View 等需要时,或者甚至偷懒,直接将逻辑放在 Controller 中。

如果您没有组件,请输入 Joomla Component Creator尝试一下

关于jquery - 如何正确编码 Joomla MVC 组件以执行 jQuery AJAX GETS/POSTS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10820052/

相关文章:

javascript - Bootstrap Accordion 被迫显示打开的 Accordion

jquery - body 标签可以存在于 jQuery 对象内部吗?

javascript - Ajax 函数使用响应中的一些参数重新加载页面

css - 将鼠标悬停在注册页面的标签上时,html 标签显示在 Joomla 3.2 中

php - 带有 4 个参数的 Joomla 逻辑 PHP 查询

joomla - 登录 joomla 时出错

javascript - 使用选择框的数据表单个列搜索

javascript - 从 AngularJS 指令中的文件运行 JavaScript 代码

php - 用于电子邮件模板和前端图像和链接的 Joomla 目录文件夹

joomla - "JInstaller: :Install: Cannot find Joomla XML setup file": Unable to install Joomla templates