【问题标题】:Ajax not working with SSL on IE error code 12019Ajax 无法在 IE 错误代码 12019 上使用 SSL
【发布时间】:2015-04-05 04:14:47
【问题描述】:

我正在开发一个基于 Java、JSP、Ajax 的 Web 应用程序,这些服务器是 JBoss,前端位于 Apche 2 服务器中。该应用程序可通过 Internet 访问。客户主要使用 IE 7、8、9 浏览器。

该应用程序之前运行良好。最近我们在网站上应用了 SSL 证书,之后我们开始收到用户抱怨应用 Ajax 的页面没有提交的投诉。通常我们在提交按钮上调用 ajax 并阻止页面,直到收到来自服务器的响应。我们应用了loggers,发现ajax请求调用失败,ajax jqXHR错误状态为12019

我们观察到使用 IE(主要是版本 8 和 9)的用户会观察到此错误。错误的模式也不相同。有时同一用户能够提交更早投诉的页面,有时则不能。我尽力在我的本地和开发环境中生成这个场景,但不能。

我google了这个问题,发现12019错误代码是IE的一个错误。但为什么它在应用 SSL 之前起作用,
如果 SSL 不正确,为什么问题只出在 ajax 页面上,为什么不在其他地方。我不能说用户改变浏览器。

这让我疯狂了一个多星期。如果其他人之前观察并解决过这个问题,请帮助我。

【问题讨论】:

  • 这个错误有什么运气吗?
  • SSL 证书是基于 ip 还是基于域? IE 无法处理基于域的证书。
  • 尝试让您的用户清除他们的缓存。
  • 您是否尝试将缓存破坏器附加到您尝试通过 AJAX 调用的 URL?您还可以提供 jQuery 版本,或许还有经过清理的代码 sn-p?
  • 您确定总是使用 SSL 发送 Ajax 请求吗?因为大多数浏览器不允许从 HTTPS 页面上的 HTTP 连接动态加载活动内容。

标签: ajax internet-explorer ssl jqxhr


【解决方案1】:

这是由于 IE 试图缓存它不应该缓存的东西。

有两种选择

  1. 不添加缓存头 "If-Modified-Since", "Thu, 1 Jan 1970 00:00:00 GMT" “缓存控制”、“无缓存”

  2. 附加缓存清除参数 "x-1&y=2...&ieispoo="+Date.now()

我知道这是一个老问题,但其他人可能会从答案中受益。

【讨论】:

    猜你喜欢
    • 2013-04-27
    • 2017-02-27
    • 2014-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-15
    • 1970-01-01
    • 2018-04-06
    相关资源
    最近更新 更多