我正在研究一些旧的AJAX代码,这些代码是在jQuery之前的黑暗日子里编写的.奇怪的是,它一直运作良好多年,直到今天它突然停止触发回调.这是基本代码:
var xml = new XMLHttpRequest(); // only needs to support Firefox
xml.open("GET", myRequestURL, true);
xml.onreadystatechange = function() { alert ('test'); };
xml.send(null);
Run Code Online (Sandbox Code Playgroud)
检查Firebug控制台,发送请求时无需担心,并且它从请求URL接收到正确的XML,但该onreadystatechange功能根本不起作用.没有javascript错误或系统中发生任何其他奇怪的事情.
我希望我可以使用jQuery重写所有内容,但我现在没有时间.什么可能导致这个问题?
进一步的更新 - 我已经能够在不同的浏览器(FFx 3.0)中测试我的代码并且它在那里工作,所以它一定是我的浏览器的问题.我在Vista上运行Firefox 3.5b4,我现在已经尝试过,所有我的插件都被禁用而没有运气.它仍然真的让我烦恼,因为我昨天在这个网站上工作(使用相同的浏览器设置)并且根本没有问题...
实际上我只是回顾一下我的Addons窗口,看到Firebug仍然启用了.如果我禁用Firebug,它可以完美运行.如果我启用它,它就会崩溃.Firebug版本1.40.a31
网址格式错误吗?您是否尝试过将整个事情放入 try-catch 并警告错误(如果有)
授权检查失败吗?有问题的 url 是否需要 http-auth?(虽然在这种情况下应该有状态变化,我承认)
编辑:
我在这里有一个非常有趣的想法。您使用的是 Firefox 3.5 beta4 吗?我为基于浏览器的游戏开发了一个 Firefox 扩展,最近发现了一些奇怪的行为。当我的扩展或 firebug 观察页面发出的 ajax 请求时,创建它们的脚本永远不会被回调。Firebug 和我的扩展都会正确观察和处理该请求(我可以观察发送和接收的内容)...但页面本身将永远不会再收到该请求 - 就像它消失在黑洞中一样。
尝试关闭 firebug(或者至少关闭该域的“Net”监听)并再次测试
| 归档时间: |
|
| 查看次数: |
527 次 |
| 最近记录: |