防止发送未更改的 POST 个请求
Prevent unchanged POST requests be sent
我正在寻找一种方法来防止发送未更改的 POST 请求。
我知道我可以在按下 "Send" 按钮后立即将其变灰,但我一直在寻找一种方法,也许是 HTTP Header,如果没有请求,它只会忽略请求有任何更改的字段。
您可以在客户端保留上次请求的副本,并与新请求进行比较。如果它们相同,则什么也不做。它可以在 javascript 对象中,如果您希望它在页面刷新后仍然存在,甚至可以在本地存储或 cookie 中。
您可以使用 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/
我正在寻找一种方法来防止发送未更改的 POST 请求。 我知道我可以在按下 "Send" 按钮后立即将其变灰,但我一直在寻找一种方法,也许是 HTTP Header,如果没有请求,它只会忽略请求有任何更改的字段。
您可以在客户端保留上次请求的副本,并与新请求进行比较。如果它们相同,则什么也不做。它可以在 javascript 对象中,如果您希望它在页面刷新后仍然存在,甚至可以在本地存储或 cookie 中。
您可以使用 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/