找不到类“ JFactory” - php

我一直在使用Jumi在Joomla中创建一些模块。因此,我可以编写任何php / javascript代码并创建一个Jumi模块,该模块可以显示在所需的位置。

我这样做已经有一段时间了,但是现在我正在尝试使用Jquery进行一些AJAX开发,但是出现了这个错误:

Class 'JFactory' not found in api.php

所以我有一个带有jQuery代码的PHP文件:

$(function() {
    $.ajax({
        url: 'ajax_dashboard/api.php',                  //the script to call to get data
        data: "",
        dataType: 'json',                //data format
        success: function(data)          //on recieve of reply
        {
            var id = data[0];              //get id
            var vname = data[1];           //get name

            $('#output').append("<b>id: </b>"+id+"<b> name: </b>"+vname)
                .append("<hr />"); //Set output element html
        }
    });
});

如您所见,它调用api.php脚本进行一些服务器处理。该文件有许多joomla调用,例如:

$user = &JFactory::getUser();

那么为什么在这种情况下我没有Joomla框架呢?

参考方案

问题是您的Ajax调用最终会出现在Joomla“平台”之外的文件中。如果可能的话,正确的方法是使ajax调用类似以下内容:

index.php?option = yourcomponent&controller = xxx&task = yyy

(这意味着您应该在该组件内部拥有一个组件“ mycomponent”和一个控制器“ xxx”)
然后,控制器应负责处理ajax调用并发送响应。您可以返回json编码的响应,例如您需要的任何内容。

希望对您有所帮助

PHP getallheaders替代 - php

我正在尝试从服务器上的apache切换到nginx。唯一的问题是我在PHP脚本中使用的getallheaders()函数,该函数不适用于Nginx。我已经尝试过用户在getallheaders函数上的php站点上提供的注释,但这并不返回所有请求标头。请告诉我如何解决这个问题。我真的想切换到Nginx。 参考方案 您仍然可以使用它,但是您必须像这里一样重新定义…

php Singleton类实例将在多个会话中保留吗? - php

举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…

PHP-服务器端验证-这是一个好方法吗? - php

我已经通过jQuery的帮助进行了广泛的客户端验证。现在进入服务器端验证,如果我发现某些字段无效,是否可以简单地将错误返回给客户端并且没有任何有用的消息?我的假设是用户必须启用JavaScript才能访问我的网页。如果Web浏览器禁用了JavaScript,则用户将看不到该表单。我可以简单地使用noscript来做到这一点。如果他们通过我设计的表单提交信息,…

AJAX实时电子邮件验证(PHP) - php

当用户在我的网站上创建帐户时,我希望对照我的数据库(MySQL)中的所有当前用户名检查输入的用户名,并确认是否可用。有谁知道我可以使用的任何好的库,或者是jQuery的插件? 参考方案 所需的确切信息以示例形式here给出。它使用jQuery作为JavaScript库

jQuery-找不到Ajax网址 - php

好的,我敢肯定这确实很容易,而且我很愚蠢,但是似乎并不能深入了解它。我试图从我的js文件“ custom.js”中对“ helpers.php”中的某些代码进行简单的AJAX调用。但是,我仍然收到404错误,因为我似乎并没有正确遍历文件夹,尽管我确信我正在...我的文件夹结构如下:html index.php js/ custom.js includes h…