0
我對joomla開發相當陌生,我正在關注如何在我新創建的模塊中使用AJAX功能的教程。不能在我的joomla模塊中有AJAX工作
基本上,我TMPL /如default.php我:
<script>
function runButton() {
alert("clicked");
var url='http://127.0.0.1:4444/getData';
var request = new Request({
url: url,
method:'get',
onSuccess: function(responseText){
document.getElementById('fields-container').innerHTML= responseText;
}
}).send();
</script>
<?php
defined('_JEXEC') or die('Restricted access');
?>
<input type="button" value="Click Here for Ajax Call" onClick="runButton()",1000);"/>
<div id="fields-container">
</div>
當我按一下按鈕,在「運行」方法被調用,但我有在Chrome中調試以下錯誤:
OPTIONS http://127.0.0.1:4444/getData Resource failed to load
偵聽端口4444的進程是一個代理,它將啓用來自我的模塊的跨域ajax調用。如果我指定'http:// localhost:4444/getData'
有任何想法嗎?
UPDATE
這似乎被鏈接到theb事實上交叉端口的HTTP查詢未啓用(即使在同一主機上)。任何解決方法?
我改變了我的代碼,所以它使用define('_JEXEC',1),但這仍然是一回事。 – Luc
define('_JEXEC',1)對模塊中的安全性不利。它允許人們使用這個文件作爲joomla的替代入口點。對於ajax,你應該在你的helper.php文件中引用一個函數! –
您將使用哪個URL直接引用模塊的helper.php中的函數?我是否需要爲這個模塊創建一個控制器? – Luc