我有一個網頁,有將發送到Web服務的初始請求的功能。 經過一段預定義的時間後,用戶可以發送第二個請求。 用戶發送第一個請求後,我希望網頁在用戶發送第二個請求時進行倒計時。 倒計時後,我想要一個數據庫字段自動更新,表明適當的時間已過。 當時間已過並且數據庫已更新時,我希望網頁更新爲顯示允許用戶發送第二個請求的按鈕。新手「你能做到這一點與道場/阿賈克斯問題
回答
初始請求後,呼叫JavaScript用戶定義函數「countdown()
」使用內置JavaScript函數「setTimeout("countdown()", 4000)
」,其中數字「4000
」類似的需要被傳遞到火微秒數在第一個參數中提到的功能。
在「countdown()
」的功能,寫的AJAX調用,則邏輯在這裏您將更新該4秒(例如)所需的時間已經過去&現在用戶可以發送第二請求的數據庫。
而且在同一個AJAX調用,您可以打印出一些字(讓這個詞是「yes
」爲例),可以捕獲/在「countdown()
」函數定義取水的時候,使用「responseText
」關鍵字JavaScript的「XMLHttpRequestObject
」,在一個虛擬變量「flag
」中。
現在你可以寫一些像「countdown()
」函數定義如下: -
function countdown() {
document.getElementById("btn_second_req").style.display = 'none';
var flag = '';
// all code to prepare for AJAX call
// AJAX called, return also fetched in a variable "flag".
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
flag = XMLHttpRequestObject.responseText;
}
if (flag == 'yes') {
document.getElementById("btn_second_req").style.display = 'block';
}
}
所以默認情況下,第二個請求觸發HTML按鈕,從第一次隱蔽,&只有激活時滿足「flag
」變量條件。
此外,由於任何用戶的第一個調用的詳細信息都保存在數據庫中,因此在第二個調用中,您需要檢查服務器驗證是否存在第一個調用的詳細信息,否則第二個請求調用將會不被娛樂。
這些類型的邏輯可以使用任何JavaScript框架庫(如jQuery或Prototype)或僅使用純JavaScript來輕鬆實現。
希望它有幫助。
是的,它可以做到。這就是我將如何去做的,這幾乎和你描述的一樣。
1的網頁發送請求到服務。該服務計算直到下一個請求可以執行的時間,將其存儲在db字段/會話中(取決於您的服務如何工作),然後將其發送回客戶端,以及您的服務發回的任何時間。
2-(如果你使用一個JavaScript庫或等效)http://www.w3schools.com/js/js_timing.asp創建使用JavaScript的setTimeout函數的計時器。
3-當計時器執行的話,將請求發送到web服務,詢問其確定開始第二次請求。服務器檢查db字段中的時間。如果它已經過去了「下一個請求時間」,服務器響應肯定的,否則它會返回剩餘的時間,然後客戶端創建一個新的計時器。
4-您發送您的新的要求。服務器再次檢查其「下一個請求時間」(以防某人智能破解javascript,或者如果他們是客戶端上的錯誤)。如果是時間,則執行第二個請求。
唯一的區別是,我所描述的方式,在服務器上執行的一切作爲客戶端操作的結果,所以你不必與螺紋/ cron作業一塌糊塗自動更新您的數據庫字段。
祝你好運!
- 1. 問題與阿賈克斯
- 2. 問題與阿賈克斯
- 3. 有問題,與我有與阿賈克斯通話問題阿賈克斯
- 4. 做阿賈克斯
- 5. 問題與阿賈克斯與jQuery
- 6. 他們如何做到這一點,阿賈克斯,json
- 7. jquery阿賈克斯問題
- 8. Laravel阿賈克斯問題
- 9. jquery阿賈克斯問題
- 10. jquery阿賈克斯問題
- 11. JSF阿賈克斯問題
- 12. 不能與阿賈克斯
- 13. 問題與阿賈克斯,jQuery的
- 14. 問題與阿賈克斯上傳
- 15. 問題與阿賈克斯聯繫表
- 16. 問題與$阿賈克斯jQuery的
- 17. 問題與阿賈克斯TabContainer的
- 18. jQuery的.Hover問題與阿賈克斯
- 19. 阿賈克斯與在選擇現場
- 20. 阿賈克斯現場與PHP
- 21. 與阿賈克斯
- 22. 阿賈克斯陣到PHP問題
- 23. 阿賈克斯得到消息問題
- 24. 用jquery做阿賈克斯
- 25. 阿賈克斯軌道3
- 26. 分頁與軌道阿賈克斯2.3.8
- 27. 阿賈克斯
- 28. 阿賈克斯
- 29. 阿賈克斯
- 30. 阿賈克斯
是的,你可以! (請問具體問題,你確切的問題是什麼?你在哪裏堅持?) –