0

我正在尝试在 joomla 1.5 中进行简单的 ajax 调用(来自 jseblod 子模板,如果有帮助的话)但似乎没有任何效果:我尝试使用 javascript 并使用 mootools(版本为 1.1)来调用一个简单的 test.php 文件但我得到的只是整个网站再次显示在目标 div 中。我究竟做错了什么?

这是代码:

<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 );
?>
4

1 回答 1

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
于 2013-03-07T10:48:33.987 回答