提交表单会导致412错误
问题描述:
我正在处理一个与AJAX一起使用的简单的一个字段窗体。每次提交表单然后刷新页面,我都会收到412错误(Precondition failed: The precondition on the request for the URL /user.html evaluated to false.
)。最终,这种形式将是AJAX,但现在,我只是使用jQuery接收提交按钮上的点击事件,然后给我一个警报。这很简单,我已经使用过很多次的形式完成了一些事情。关于这里发生了什么的任何想法?提交表单会导致412错误
我在雪豹的MAMP上本地运行网站。
为了澄清,当我不提交表单和刷新时,我不会收到错误,所以它肯定与html或jQuery有关。 (但我不明白其中哪一个可能会产生这个错误)。
编辑:html代码:
<form id="add-form" method="post" action="">
<input type="text" name="add-input" value="http://example.com" />
<input type="submit" name="add-submit" value="Add" />
</form>
jQuery的:
$(document).ready(function() {
$('input[type="submit"]').click(function() {
link = $('input[name="add-input"]').val();
alert(link);
return false;
});
});
答
看起来更像是一个服务器的问题给我。
是否在您的服务器上启用了mod_security?
一些托管公司使用 的mod_security或其它类似的过滤器 阻止网页表单提交 含有某些关键词或 可疑符号,以防止 垃圾评论或黑客攻击。 有时这些安全规则可能会阻止合法请求 。 1
当您重新加载页面时,这可能会被mod_security检测为垃圾评论,并导致此HTTP响应。
你能分享你的代码段吗? – Sadat 2010-07-22 07:31:59
为什么要引用#?为了获得成功,这个动作是否应该是空的? 顺便说一句,你不应该取消正常的提交点击事件? – Rickjaah 2010-07-22 07:56:29
我尝试了你的两个建议,并修改了上面的代码,但他们都没有解决这个问题。 – williamg 2010-07-22 17:07:21