2013-03-06 89 views
0

我想在joomla 1.5(從jseblod子模板,如果這是任何幫助)做一個簡單的AJAX調用,但似乎沒有任何工作: 我嘗試使用JavaScript和使用mootools(版本是1.1)調用一個簡單的test.php文件,但我得到的是整個網站再次顯示在目標股利。我究竟做錯了什麼?在joomla 1.5簡單的AJAX調用不工作

下面是代碼:

<script type="text/javascript"> 
$('start').addEvent('click', function(e) { 
e = new Event(e).stop(); 

var url = "test.php"; 
new Ajax(url, { 
    method: 'get', 
    update: $('ajax-container') 
}).request(); 
}); 
</script> 

和HTML部分:

<h3>Simple Ajax Request</h3> 
<a id="start" href="#">Click here</a> 
<div id="ajax-container"></div> 

,我也嘗試過這種使用Mootools的:

<?php 
$url = "test.php"; 
$ajax = <<<EOD 
window.addEvent('domready',function() 
{ 
$('drop-down').addEvent('change',function() 
{ 
     var a = new Ajax({$url},{ 
      method:'get', 
      update: $('ajax-container') 
      } 
     }).request(); 
    }); 
}); 
EOD; 
$doc = & JFactory::getDocument(); 
$doc->addScriptDeclaration($ajax); 
?> 
+0

使用mootools 1.1不是一個好計劃。在所有。你至少想要1.3,否則你會遇到與ie9和ff19不兼容的問題。你的第二個例子有一個語法錯誤(盈餘'}'和'})')。不知道當時是否支持'update' mutator - 檢查1.11文檔。 – 2013-03-06 13:54:45

+0

但是第一種語法呢 - 它不使用Mootools,它仍然不起作用?不幸的是,我無法更改版本,因爲其他問題。 PS我試圖改變第二種語法,仍然沒有什麼 – nahero 2013-03-06 14:10:10

+1

第一個例子也是mootools - Ajax是1.11中的請求包裝器 – 2013-03-06 14:55:08

回答

0

因此,對於任何有興趣,這裏是該代碼使用jQuery 1.8.3庫,它只是加載在第一行:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 

<script> 
$(document).ready(function(){ 
$("button").click(function(){ 
$("#div1").load("http://www.panacea.hr/test.php"); 
}); 
}); 
</script> 
<button>Start AJAX</button> 
<div id="div1"><h3>Place for generated content</h3></div> 

這裏是我的test.php的開始 - 需要此代碼連接到數據庫,執行查詢,因爲的Joomla沒有看到test.php的作爲網站的一部分:

define('_JEXEC', 1); 
define('JPATH_BASE', dirname(__FILE__)); 
define('DS', DIRECTORY_SEPARATOR); 
require_once (JPATH_BASE .DS.'includes'.DS.'defines.php'); 
require_once (JPATH_BASE .DS.'includes'.DS.'framework.php'); 
$mainframe =& JFactory::getApplication('site'); 
$mainframe->initialise(); 
$db = &JFactory::getDBO(); 
// query after this