您的位置:首页 > Web前端 > JQuery

解决jQuery.ajax在IE, FireFox可以正常执行。Chrome,360极速模式中无法正常执行。

2013-09-30 17:23 751 查看
解决jQuery.ajax在IE, FireFox可以正常执行。Chrome,360极速模式中无法正常执行。

今天遇到问题,已经搞了半天了,总结一下。

找到:http://forum.jquery.com/topic/load-and-ajax-not-working-on-google-chrome

Using jQuery

里面有个人说的原文如下:



Please look at this page:

http://www.mail-archive.com/qooxdoo-devel@lists.sourceforge.net/msg29542.html

When you are getting ajax content from a server asp.net page, beware on usingthe Response.Close() at end.

This would send all buffered data toclient, but also send a "Reset by peer" signal that close the socket.

IE/FF just handle it well, but Chrome can0thandle this, returning an internal Network Error 101 on xhr.Send().

If you dont useResponse.Close() on your server code, $.ajax will work just fine also onchrome.

Hope this helps.





大概意思是:

当你从一个ASP.NET服务端用AJAX获取内容时,小心使用Response.Close()结尾。

这会将所有缓冲数据发送到客户端,而且还发出一个“Resetby peer”信号,关闭Socket连接。

IE / FF就处理得很好,但Chrome不能处理,它会在执行“xhr.Send()”方法去获取数据时.返回一个“an internal Network Error 101”的错误。

如果你在你的服务端代码中不使用“Response.Close()”,$.Ajax会在chrome浏览器中运行得很好。

希望这会有所帮助。

开始,我以为不是服务端的问题,是浏览器支持Ajax的问题,后台代码中使用了Response.Close(),

而且,它说的 “dont use”我以为是要使用这句,而不是不使用这句,搞了老半天,还有的说是Ajax跨域的问题,

我的是使用一个新的服务,在主站下面建立了一个虚拟目录,我觉得也不是跨域的问题呀,真无语。

后来没办法了,把后台代码中的某些会出问题的语句一行行的删除来尝试,终于删除Response.Close()这句之后就可以了!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐