后端防止重復(fù)提交 js怎樣防止刷新重復(fù)提交?
js怎樣防止刷新重復(fù)提交?事實(shí)上,有一種不好的方法&Ltbr>;即當(dāng)用戶(hù)提交表單時(shí),會(huì)彈出一個(gè)帶有JS的彈出框,并且表單已成功提交,&Ltbr>echo“<script>alert(“
js怎樣防止刷新重復(fù)提交?
事實(shí)上,有一種不好的方法&Ltbr>;即當(dāng)用戶(hù)提交表單時(shí),會(huì)彈出一個(gè)帶有JS的彈出框,并且表單已成功提交,&Ltbr>echo“<script>alert(“successfully submitted”)<&Script>”&Ltbr>,然后使用PHP header或JS跳轉(zhuǎn)到提交頁(yè)面&Ltbr>;標(biāo)題(“l(fā)ocation:$post”)&Ltbr>&Ltbr>;這相當(dāng)于刷新頁(yè)面本身,然后用戶(hù)可以再次刷它&Ltbr>雖然用戶(hù)體驗(yàn)不是很好,但是如果不使用AJAX,則正常提交還需要刷元方法在您的標(biāo)題區(qū)域添加此代碼:<meta http equiv=“pragma”content=“no cache”><meta http equiv=“cache control”><meta http equiv=“no cache,must validate”><meta http equiv=“expires”content=“wed,1997年2月26日08:21:57 GMT”>
2。token方法生成一個(gè)令牌并將其存儲(chǔ)在用戶(hù)會(huì)話(huà)中。表單中會(huì)添加一個(gè)隱藏字段以顯示標(biāo)記的值。提交表單后,將生成一個(gè)新令牌。將用戶(hù)提交的令牌與會(huì)話(huà)中的令牌進(jìn)行比較。如果不同,則會(huì)重復(fù)提交。
3. 禁用按鈕方法<input type=“button”value=“submit”onclick=”this.disabled=truethis. 表單提交()“>
java后臺(tái)接口怎么防止重復(fù)提交?
為了防止重復(fù)請(qǐng)求,一個(gè)好的項(xiàng)目應(yīng)該有一個(gè)完美的機(jī)制來(lái)防止后臺(tái)重復(fù)請(qǐng)求。
如果只從前端執(zhí)行,則有許多方法,例如:
1。定義一個(gè)全局變量,第一次發(fā)送請(qǐng)求時(shí)設(shè)置為true,然后判斷該值是否為true,判斷是否有請(qǐng)求。當(dāng)請(qǐng)求返回時(shí),將其重置為false以指示可以再次請(qǐng)求它。
2. 在請(qǐng)求后將窗體按鈕設(shè)置為禁用狀態(tài),然后在請(qǐng)求返回后啟用它;
3。啟用彈出控件,彈出等待框“處理”請(qǐng)求后阻止頁(yè)面,不允許用戶(hù)操作,請(qǐng)求回來(lái)后關(guān)閉等待框;
等等。。。。
無(wú)論哪種方式,這些方法都只是為了防止合法用戶(hù)的操作,徹底解決重復(fù)提交的問(wèn)題,或者從后臺(tái)開(kāi)始
結(jié)束如果數(shù)據(jù)處理后修改session(“OK”)=false。如果數(shù)據(jù)處理成功,立即重定向到另一個(gè)頁(yè)面并在操作后刷新確實(shí)是個(gè)問(wèn)題。您可以跳轉(zhuǎn)到該頁(yè)并關(guān)閉此頁(yè)。如果有參數(shù)數(shù)據(jù)條件進(jìn)行控制,應(yīng)該很容易做到,可以直接修改窗口位置更改所有參數(shù),使其接近。缺點(diǎn):使用簡(jiǎn)單響應(yīng)。重定向?qū)⒉辉儆行?,因?yàn)閺囊粋€(gè)頁(yè)面移動(dòng)到另一個(gè)頁(yè)面必須用客戶(hù)端代碼清除位置.歷史. 請(qǐng)注意,此方法清除上一次訪(fǎng)問(wèn)歷史記錄,而不是所有訪(fǎng)問(wèn)記錄。點(diǎn)擊后退按鈕,再點(diǎn)擊后退按鈕,可以看到該頁(yè)面打開(kāi)前的頁(yè)面?。ó?dāng)然,這是在客戶(hù)端啟用JavaScript的時(shí)候)如果按back怎么辦?阻止網(wǎng)頁(yè)備份-禁止緩存。添加數(shù)據(jù)庫(kù)時(shí),如果允許數(shù)據(jù)庫(kù)備份并刷新頁(yè)面,則會(huì)再次執(zhí)行添加操作。毫無(wú)疑問(wèn),這是沒(méi)有必要的。例如,許多禁止緩存的在線(xiàn)代碼有時(shí)是不可靠的。此時(shí),您只需要在操作頁(yè)面中添加一個(gè)新頁(yè)面。指定要在網(wǎng)頁(yè)中定向的新網(wǎng)頁(yè),然后再次添加。單擊“上一步”查看是否返回到上一操作頁(yè)。事實(shí)上,這段歷史已經(jīng)被刪除響應(yīng)緩沖區(qū)= TrueResponse.ExpiresAbsolute版本=現(xiàn)在()-1響應(yīng)。過(guò)期= 0 響應(yīng).緩存控制=“無(wú)緩存”ASP.NET: Response.Buffer=真實(shí)響應(yīng).ExpiresAbsolute=到期日DateTime.Now.AddSeconds(-1) Response.Expires=0響應(yīng). CacheControl=“no cache”如何“禁用”瀏覽器的“后退”按鈕?或者“如何防止用戶(hù)單擊“上一步”按鈕返回到以前查看過(guò)的頁(yè)面?”不幸的是,瀏覽器的后退按鈕不能被禁用。防止網(wǎng)頁(yè)后退窗口打開(kāi)彈出表單頁(yè)面,點(diǎn)擊提交關(guān)閉頁(yè)面;ASP頁(yè)面處理提交也用來(lái)彈出,設(shè)置表單的目標(biāo),點(diǎn)擊提交關(guān)閉頁(yè)面窗口打開(kāi)(" 三十、 asp公司“,”ublank“),然后使用js提交表單窗口。關(guān)閉();