ajax请求返回脚本标签 - mootools

时间:2011-02-17 16:45:54

标签: javascript ajax mootools

我在一个ajax更新的页面中看到一个奇怪的错误。

请求如下所示:

var a = new Ajax(url,{
    method: 'get',
        onComplete: function( response ){
            $('loader').style.display="none";
            readData( response );
        }
    });
    a.request();
    return;

到目前为止,这几乎在任何系统上都可以正常工作,但是在新的服务器上它会中断,并且有一个mootools错误“未知的XML实体”。奇怪的是,如果您使用firebug跟踪请求,而不是按预期返回JSON,响应正文如下所示:

<script>document.location.href='http://www.mysite.com?myparams=value&etc;</script>

但是,如果您实际通过在脚本标记(响应正文)中粘贴URL以及浏览器中的参数来手动发出该请求,则会返回正确的JSON数据。

为什么请求会返回脚本标记而不是数据的任何想法?

1 个答案:

答案 0 :(得分:0)

正如Dimitar在上面的评论中所说,由于一个名为sh404SEF的URL重写工具,这在Joomla网站中是一个问题。根据开发人员的说法,修复方法是在高级配置选项中将“301 redirect”参数设置为“no”。

所以这与我的代码或ajax函数无关,而是破坏请求的SEF重写组件。