簡體   English   中英

找不到類“ JFactory”

[英]Class 'JFactory' not found

我一直在使用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?選擇= yourcomponent&控制器= XXX&任務= YYY

(這意味着您應該在該組件內部有一個組件“ mycomponent”和一個控制器“ xxx”),然后該控制器應負責處理ajax調用並發送響應。 您可以返回json編碼的響應,例如您需要的任何內容。

希望對您有所幫助

我用它來解決問題。 我在joomla框架中時得到了變量。 然后我在ajax調用中傳遞User_Name變量...

希望這可以幫助

<script type="text/javascript">
  var User_Name = '<?php $user =& JFactory::getUser(); $User_Name = $user->username; echo $User_Name; ?>';
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM