繁体   English   中英

我的joomla模块中无法运行ajax

[英]Cannot have ajax working in my joomla module

我对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”,我也会遇到同样的问题

任何想法 ?

更新

这似乎与以下事实有关:跨端口http查询未启用(即使在同一主机上)。 任何解决方法?

您正在使用defined( '_JEXEC' ) or die( 'Restricted access' ); 通常限制了ajax。

如果还没有,则需要使用define('_JEXEC', 1);

请注意,您需要使用define ,而未定义

还请确保此代码位于ajax脚本之前。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM