IE7中使用AJAX遇到的一个问题

        最近在做网站的时候用到了一个大文件上传的功能,也就是说通过INPUT 的文件上传表单元素,支持上传任意大小字节的文件,同时在浏览器上显示上传进度。服务端就是利用HttpWorkRequest类,同网上其它大文件上传的原理是一样的。         客户端是在调用form的submit方法之后,再用AJAX方式从服务器上取得当前上传的进度信息,这种方式在IE6和FF下都没有问题。因为自己家里和工作的电脑都没有装IE7,所以就没有在IE7下面测过。         前几天在朋友有电脑上发现在IE7下,表单提交之后进度条信息没法显示了。一开始以为是服务端返回进度信息的handler有问题,调试了一下服务端发现能正常获取到进度信息,说明服务端是没有什么问题的;后来又以为是JS脚本被改动了,仔细的检查了代码后又在IE6和FF下复测了,结果是IE6和FF仍然是好的,而且JS代码也没有动过。为这事我专门在机子上装了IE7进行单步调试,最终发现原因在于submit之后调用AJAX能够执行到send方法,但是在表单没有完全提交之前,永远也不会调用回调函数。         回想之前调试服务端的时候,获取到的文件上传进度的信息都是99%,100%之类的。当时还以为是用的上传文件不是太大,又都是在本机调试,很快就上传完了的原因。现在看来问题就是出在这了,貌似IE7里面submit和AJAX请求用的是同一个TCP连接,要不然就是submit的时候AJAX被阻塞了(反正现象都一样,也没有深究),表单提交完了的时候才执行的,没有调用回调函数当然也就不会更新浏览器的进度信息了。         现在想想除了我在提交表单的时候用的是form的submit的方法,而不是用的submit的表单元素外,没有什么特别之处了(周一再去检验这个猜想)。最离奇的是IE6和FF都过了,唯独IE7过不了。google了一把,好像还没有发现跟我有同样现象的。本人自认为人品还是很不错的。。。郁闷.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值