防止发送不变的POST请求

时间:2015-01-05 15:46:55

标签: http post

我正在寻找一种方法来阻止发送不变的POST请求。 我知道只要按下一次就可以将“发送”按钮变灰,但我正在寻找一种方法,可能是一个HTTP标头,如果没有任何更改的字段,它只会忽略该请求。 / p>

2 个答案:

答案 0 :(得分:0)

您可以在客户端上保留上一个请求的副本,并将新请求与其进行比较。如果它们是相同的,什么都不做。它可能位于javascript对象中,甚至可能位于本地存储或cookie中,如果您希望它能够在页面刷新后继续存在。

答案 1 :(得分:0)

您可以使用jQuery中的.serialize()方法保存上次提交,并将此值与新值进行比较。

这样的事情:

var lastSubmit;
$( "#myForm" ).submit(function( event ) {
    event.preventDefault();
    var newSubmit=( $( this ).serialize() );
    if (lastSubmit==newSubmit) {
         alert("Don't submit")
    } else {
        alert("Submit")
        lastSubmit=newSubmit;
    }

});

我写了这个jsfiddle例子:http://jsfiddle.net/uxjynnhj/2/