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

解决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()这句之后就可以了!!!



上一篇:如何利用容器构建持续交付/持续发布系统?


下一篇:大数据干货 SQL优化方案精解十则