2012-09-12 30 views
0

我正在使用ASP.Net Web窗體,我有一個按鈕客戶端,通過jquery ajax將數據發佈到webmethod服務器端。我的問題是,如何防止webmethod接收用戶多次請求單擊按鈕多次,如果可能,我希望此代碼成爲服務器端。防止在服務器端重複ajax帖子到webmethod

回答

1

一旦點擊頁面上的按鈕,將其禁用,以便第二次點擊不會註冊,然後發送請求並在獲得響應後採取適當的操作。

要做到這一點服務器端會很困難,您可能需要序列化請求,然後將每個請求與最近的歷史進行比較,並確定它是否重複。這可能是困難的,因爲可能存在合法的重複,並且區分它們可能是困難的。

+0

您認爲.on()和.off()對於按鈕的點擊事件的處理更好,然後使用會話來存儲請求的所有參數,然後檢查服務器端會話的下一個請求? @Bill –

+0

我用.on()設置了按鈕,然後就在ajax之前,我可以使用.off(),然後成功:我可以把它重新打開() - 有時是因爲什麼原因,它只是沒有沒有工作,然後再次點擊按鈕使其工作,所以我認爲服務器端是一個更好的檢查方式 - 我總是更舒適的一切服務器端 –

+0

是的,因爲重複檢查可以變得非常複雜。如果請求進入並且由服務器同時處理,那麼您必須以某種方式檢測並防止這會變得複雜。 – Bill