【发布时间】:2012-07-29 08:05:38
【问题描述】:
我的 web 应用程序在 Tomcat 下运行,它非常密集地使用 AJAX 请求,在开发过程中我也必须密集地重新部署 web 应用程序。重新部署后,我通常只是刷新页面,知道用户会话已删除,但我总是会遇到下面描述的场景:
- 转到某个页面,一个非常大页面,其中包含许多 JS 脚本,它实际上会发出那些密集的 AJAX 请求。
- 停止 Tomcat 或重新部署 Web 应用程序。
- 刷新页面。
- 在登录表单中输入凭据以进行身份验证。
- 突然在浏览器窗口中得到last AJAX 请求响应,在 URL 栏中得到 AJAX 请求 URL。
哇... AJAX 请求 URL 与它们在网页显示区域中的响应一起出现在 URL 栏中,这对我来说看起来很奇怪。这实际上发生在 Firefox 和 Chrome 上(尚未在其他浏览器中测试过)。不幸的是,我无法在从头开始编写的简单页面中重现相同的行为。坦率地说,我真的不明白这些请求会发生什么,以及为什么浏览器会“思考”如果用户在 URL 栏中输入 AJAX 请求/响应......
非常非常感谢您对这种奇怪行为的可能解释或提示。谢谢!
(也许它可以帮助:所有 AJAX 请求都使用 jQuery 1.4.2 执行)
【问题讨论】:
-
@ChristopherSchultz,它发生在所有版本的 Tomcat 6.0.x 上,它可能可以在 Tomcat 7 上重现。现在我在 6.0.32 上。
-
这可能只是基于 FORM 的身份验证的规范兼容行为,尽管我希望 first AJAX 响应会显示在您的浏览器中,而不是最后一个一。
-
@ChristopherSchultz 正如我后来理解的那样,基于 FORM 的身份验证器返回了一个重定向。请在下面查看我的答案,并感谢您提供查看身份验证模块响应的提示 - 这实际上解决了问题!
标签: ajax http tomcat browser get-request