前端頁面做提交時,為了防止用戶在數(shù)據(jù)處理過程中反復(fù)提交數(shù)據(jù),造成數(shù)據(jù)處理的冗余,以及為了防止反復(fù)提交給服務(wù)器帶來不必要的負擔,做一個小的鎖,防止以上情況的出現(xiàn)。
當然用js做和服務(wù)器端做都是一樣的,原理一致!
js代碼:
("#submit").on('click',function(){
//如果用戶提交了一次,lock被置為true,鎖開啟。后續(xù)在鎖被關(guān)閉之前,用戶都不能提交數(shù)據(jù)。
if(lock)
{
//鎖已經(jīng)開啟,在提交只會被阻斷
return false;
}else
{
//鎖開啟,鎖關(guān)閉只能是數(shù)據(jù)被處理完畢或者刷新頁面,文檔重新加載
lock = true;
}
$.post(url,data,function(response){
if(response.tip=="success")
{
//鎖關(guān)閉,數(shù)據(jù)處理結(jié)束且操作成功
lock = false;
}else
{
//鎖任然開啟,數(shù)據(jù)處理完畢但是操作不成功,提示用戶操作不成功,刷新頁面重試。
lock = true;
window.location.reload();//刷新頁面
}
},'json');
});
});
本文來自 SchopenhauerZhang 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/schopenhauerzhang/article/details/60476088?utm_source=copy