`
larlf
  • 浏览: 105904 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mootools的Ajax类在FireFox下同步访问时的一个问题

阅读更多
发现以下的代码:

var myAjax=new Ajax(url, {method:'post',async:false});
myAjax.request(config);

在FireFox下运行后,无法通过myAjax.response.text取得返回的数据。

因为这个调用通过配置信息里的async:false实现了同步方式的调用,怀疑问题出在IE和FF的XMLHttpRequest在同步方式下处理机制有所不同。

经过对Mootools代码的跟踪,发现获取数据成功后的onSuccess方法并没有执行,原来FF下的XMLHttpRequest在同步方式下,不会去调用事件中定义的回调函数,而Mootools中对这种情况没有做任何的处理。

也许Mootools的开发者默认Ajax类的使用都是在异步方式下进行的?

解决办法:

直接访问Ajax类中的XMLHttpRequest对象,通过:
myAjax.transport.responseText
来取得返回的数据。
分享到:
评论
1 楼 tuzi215 2007-12-20  
怪不得了。。谢:)

相关推荐

Global site tag (gtag.js) - Google Analytics