我在我的 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/