2010-07-22 82 views
0

我正在处理一个与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; 
}); 

}); 
+0

你能分享你的代码段吗? – Sadat 2010-07-22 07:31:59

+1

为什么要引用#?为了获得成功,这个动作是否应该是空的? 顺便说一句,你不应该取消正常的提交点击事件? – Rickjaah 2010-07-22 07:56:29

+0

我尝试了你的两个建议,并修改了上面的代码,但他们都没有解决这个问题。 – williamg 2010-07-22 17:07:21

回答

1

看起来更像是一个服务器的问题给我。

是否在您的服务器上启用了mod_security?

一些托管公司使用 的mod_security或其它类似的过滤器 阻止网页表单提交 含有某些关键词或 可疑符号,以防止 垃圾评论或黑客攻击。 有时这些安全规则可能会阻止合法请求 。 1

当您重新加载页面时,这可能会被mod_security检测为垃圾评论,并导致此HTTP响应。

+0

编辑:好吧,我想通了,并解决了这个问题!谢谢! – williamg 2010-07-22 17:38:10

+0

@willianmg,我可以知道你如何在服务器中设置mod_security?在互联网上进行一些搜索后无法找到此设置。谢谢 – zhihong 2016-03-24 14:11:21