【发布时间】: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