我一直在使用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…