2009-06-03 61 views
5

我正在编写一些旧的AJAX代码,写在jQuery之前黑暗的黑暗时代。奇怪的是,它一直工作很好,直到今天突然停止发射它的回调。这里是基本的代码:什么可能导致XMLHttpRequest在Firefox中永远不会改变状态?

var xml = new XMLHttpRequest(); // only needs to support Firefox 
xml.open("GET", myRequestURL, true); 
xml.onreadystatechange = function() { alert ('test'); }; 
xml.send(null); 

检查Firebug控制台,该请求被无后顾之忧发送,它接收来自请求URL的正确XML,但onreadystatechange功能不工作。系统中没有javascript错误或其他任何奇怪的事情发生。

我希望我可以重写使用jQuery的一切,但我没有时间,现在。什么可能导致这个问题?


进一步的更新 - 我已经能够测试不同的浏览器(FFX 3.0),我的代码,并在那里工作,所以它必须与我的浏览器有问题。我在Vista上运行Firefox 3.5b4,现在我尝试了所有我的插件,但都没有运气。它还真缠着我,因为我是在这个网站的工作昨日(具有相同的浏览器设置),并没有问题,在所有...

其实我只是把我的附加组件窗口回头一看,看到了萤火虫仍然启用。如果我禁用Firebug,它可以很好地工作。如果我启用它,它会被破坏。 Firebug的版本1.40.a31

+0

您正在使用什么版本的Firefox :-)?也许这是一个Firefox错误?我没有像在Firebug那样得到相同的转储。 – 2009-06-03 03:18:03

+0

看我的编辑。这是一个在Firefox 3.5beta4中的错误,似乎 – 2009-06-03 03:48:05

回答

4

是URL格式不正确? 你有没有尝试把整个事情放在试试看,并提醒错误(如果有的话)

它是否在授权检查上失败? 有问题的网址需要http-auth吗? (虽然应该有在这种情况下的状态变化,我承认)

编辑:

我有一个非常有趣的想法在这里。你使用的是Firefox 3.5 beta4吗?我开发了基于浏览器的游戏的Firefox扩展,并且最近发现了一些奇怪的错误。用我的扩展或萤火虫观察页面发出的ajax请求,创建它们的脚本永远不会被回调。请求会被正确地观察和萤火虫都和我的分机(我所观察到什么发送和接收)进行处理......但是页面本身将永不请求再次听到 - 像它已经消失在一个黑洞。

尝试关闭萤火(或至少关闭听“网”该域),并再次测试

0

这似乎不大可能的onreadystatechange将停止工作。 “提醒”功能有可能被禁用或覆盖了吗?你可以用一些代码替换警报,以便在页面中进行可见的更改,并以这种方式检查其功能吗? (我知道,它的一个延伸,但它只是似乎很奇怪的onreadystatechange是行不通的!)

相关问题