我正在编写一个以 Struts 和 Tomcat 作为服务器的网站。
在页面上有一个使用 jQuery(不是跨域)的 ajax 发布请求。返回值是纯 html。
问题是,我有时(不总是,甚至不经常)得到 412(前提条件失败)错误。这个不稳定错误的原因可能是什么?
我发布答案是因为我今天刚遇到这个问题。就我而言,这显然是对 Mod Security 的更新。
我正在通过 AJAX 向服务器发送数据,而作为此消息一部分的一些 Javascript 导致了 412。结果是 HTML 一词(我在代码中传递了 element.innerHTML)
ModSecurity 将其视为潜在威胁。为了快速修复,我用 H%T%M%L 替换了所有 HTML 字符串,并在服务器上反转了进程,它现在正在运行。
您可能早就解决了这个问题,但发布以防它对其他人有用。
就在今天,我遇到了同样的问题“412 Precondition Failed”。
这是一个上传音频和图像文件的 Codeigntier 应用程序。
到目前为止,很多文件都是通过 Ajax 文件上传器上传的。但是今天我的文件没有上传,并且通过 chrome Inspect > Network 我发现错误 412 Precondition Failed。
我通过多次更改我的 ajax 脚本重新上传了这么多文件。
突然,一个特殊的人物引起了我的注意。我重命名了文件并尝试重新上传。相信我,它奏效了。
我没有适当的解释,但它对我有用。
谢谢