[英]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.