【问题标题】:IE8 Post Body Becomes Empty after form submission提交表单后 IE8 Post Body 为空
【发布时间】:2012-03-21 19:30:37
【问题描述】:

好的,这是我们的设置:

使用 Prototype 1.7 通过 AJAX 将简单表单​​提交到由 ColdFusion 捕获的 Apache 服务器。 (我们注意到以传统方式提交表单数据的页面上存在类似的错误,但这些页面的使用率要低得多。)

我们的一些客户报告了错误。在查看日志并从他们的机器上进行实时测试后,Firebug Light 报告请求正在与发布数据一起发送。

但是在服务器端,原始日志或 ColdFusion 的 FORM 对象或 GetHttpRequestData() 中不存在发布数据。

即使在运行 Chrome Frame 时,此问题也仅在 IE 中出现,并且是间歇性的。

我们无法在我们的机器上或在他们运行 Firefox 或 Chrome 的机器上安装 IE8 来重现此错误。

对于这个极其难以追踪的错误有什么想法吗?

【问题讨论】:

  • 您发布的 URL 是否可能被重定向?例如。 /target/target/?
  • 感谢您对这个问题的看法。在 firebug lite 或 firefox 中的 firebug 中监控时,不会发生重定向。此外,在 Coldfusion 应用程序或 apache (.htaccess) 或 CF 管理员内部编程的“MVC”逻辑中没有发生重定向。
  • 页面是否使用 html 验证器正确验证?也许这是一个被 IE 误解的无效标签嵌套。 validator.w3.org
  • Google 搜索中出现了两个可能的问题。 @jfrobishow 已经提到其中之一 - invalid HTML can cause IE8 to not handle forms properly。此问题的另一个(特殊)原因是an Apache module
  • 哦,还有 IE 的另一件事,虽然可能与您的问题无关,因为它也发生在非 AJAX 表单上。我们最近在 IE 中遇到了 AJAX 请求的问题,我们需要在我们发送 POST(或者可能是 GET,我不确定......)请求的 URL 的末尾添加一个缓存破坏变量。

标签: apache coldfusion internet-explorer-8 prototypejs http-post


【解决方案1】:

您是否在某个地方有一个 HTTP 代理?我们过去遇到过问题,我不记得细节了,但我知道这与使用 AJAX 发布有关。代理的配置使得某些标头组合会使其行为不端。仔细查看来自浏览器的 HTTP 标头,比较一个有效的和一个无效的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多