lena和shane,家庭日志,xulavigne,Lena&Shane

如何实现

jQuery.ajax在Chrome中无法正常执行的解决办法

2015-11-29 Shane Jhu

在较新的webkit内核浏览器中使用 $.post/load/get 等方式发送数据至某页面后,无法正常获取返回的内容。直接跳至 .error() 中。

显然 webkit 收到一个错误。

而在 IE/Firefox 中却正常。除了很多人所说的直接在本地运行 html 页面会被浏览器安全拦截的因素外,还有一个重要原因在于服务器端的响应处理(Response),毕竟这种数据获取怎么也是要在 localhost 中测试的吧。


Response.Close():

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

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

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

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

我将目标页面中的 Response.Close() 改为 Response.End(),问题解决。


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

本文由lenashane.com原创,转载请注明出处:查看原文

如果觉得文章还不错,请点个赞吧

11月 1 2020
让你的孩子每当想到公正和诚实,就会想到你。

小杰克森·布朗 (H. Jackson Brown Jr. 美国作家)