我正在尝试在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 );
?>
答案 0 :(得分: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