2017-04-13 40 views
0

要求:我无法使用组件和ajax接口(joomla com)。 我的目标是:将POST数据从default.php(mod_x)发送到helper.php(mod_x)。数据被选中复选框 - 使用ajax。Joomla - 在自定义模块中使用ajax

如何做到这一点?

  1. 我知道必须有一个方法,要做到这一点直接(有人可以给我一个例子),通过删除(我知道它的安全隐患,而且必须有被黑客攻击,以确保它的方式joomla)

    defined('_ JEXEC')or die('Restricted access');

  2. 是否有某种方式可以提供模块任务 - 就像使用组件(控制器)一样?我不能自己使用组件。这将如何完成?请明确。

  3. 是否有其他可能的方法?必须有......我准备好了一场严重的大脑风暴。让我们变得有创意,伙计们。

P.S.总结起来,我试图找到一些创造性的方式来不使用组件,只是模块从default.php做ajax调用(ajax在选中的复选框上运行) 我还希望在代码中使用示例。谢谢!

回答

2

Fron Joomla 3.2如果你需要在Joomla做一个AJAX请求!从自定义模块或插件中,您可以构建如下的URL。

index.php?option=com_ajax&module=your_module_name&method=YourMethodName&format=json 

每个参数的说明

1. index.php文件选项= com_ajax:所有请求都必须通过com_ajax路由。

2. module = your_module_name:第一部分是您使用的扩展类型。这可以是'模块'或'插件'。第二部分是扩展名。请注意,您不包括前缀'mod_'或'plg_',只是名称。

3. method = YourMethodName:这是您试图调用的方法名称。如果你在一个模块中使用它,那么该方法必须附加'Ajax'。因此,此处表示的方法将为YourMethodNameAjax。如果你在插件上使用这个方法,这个方法必须加上'onAjax'。因此,此处显示的方法将为onAjaxYourMethodName

时请在Joomla doc

+0

是的,但我mentione - 我不能使用任何类型的组件。 Ajax_com是一个组件。我还有什么其他选择? – JohnCoolGuy1996

+0

为什么不使用组件进行ajax调用? –