javascript - ajax请求返回脚本标签--mootools

标签 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 数据。

知道为什么请求会返回脚本标记而不是数据吗?

最佳答案

正如 Dimitar 在上面的评论中所建议的,由于名为 sh404SEF 的 URL 重写工具,这是 Joomla 网站中的一个问题。据开发者介绍,修复方法是在高级配置选项中将“301重定向”参数设置为“否”。

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

关于javascript - ajax请求返回脚本标签--mootools,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5031870/

相关文章:

javascript - 异步等待到actionCreator,我应该返回结果吗?

javascript - 在函数中使用 Toggle 类

javascript - 具有点击率的动态 Ajax MySQL 列表

mootools - Mootools 和 Google Closure 库兼容吗?

javascript - JS - 关于如何将多个用户输入合并到一个表单域设计的建议

javascript - MooTools 拖动/ slider 无法正常运行

javascript - CSS 菜单栏样式表菜单不呈现

javascript - 如何在每次 a4j AJAX 响应后调用 JavaScript 函数?

javascript - 同步 CORS XHR 302 重定向失败,但异步工作

Javascript ajax 调用在动态加载的 HTML 中不起作用