背景 - 我有一個Web應用程序的請求需要幾秒鐘。如何在web服務器完成http請求的同時在網頁上顯示「正在等待」指示符?
問題 - 如何在用戶發起請求後向用戶顯示「等待」類型指示符(例如微調器),直到實際的HTTP請求響應從服務器返回爲止?
筆記 - 我假設這是一個通用的Web開發問題,但是我的Web應用程序是一個「Ruby on Rails」應用程序。
感謝
背景 - 我有一個Web應用程序的請求需要幾秒鐘。如何在web服務器完成http請求的同時在網頁上顯示「正在等待」指示符?
問題 - 如何在用戶發起請求後向用戶顯示「等待」類型指示符(例如微調器),直到實際的HTTP請求響應從服務器返回爲止?
筆記 - 我假設這是一個通用的Web開發問題,但是我的Web應用程序是一個「Ruby on Rails」應用程序。
感謝
通常情況下,你會添加一個新的DOM對象(或顯示現有)的頁面,有可能通過jQuery或其他一些庫中,顯示的微調,然後在任何回調被觸發當AJAX請求完成時;你會再次隱藏微調對象。
首先,你有一個隱藏的div與微調圖像,當你發送http請求時,讓div可見,當你收到響應時,再次隱藏它。
以前的海報是正確的,你可以顯示一個動畫,但這並不適合所有情況。如果你只是想改變光標,在JavaScript中,您可以在請求開始這樣做:
document.body.style.cursor = "wait";
和請求後完成:
document.body.style.cursor = "default";
希望幫助... 斯科特。
如此有效地使用Javascript來改變頁面之前啓動http請求正確?也就是說,你不能使用正常的鏈接,而必須通過java-script編排兩步過程。我有這個正確嗎? – Greg 2010-02-24 02:30:06
非常。由於您不希望瀏覽器立即開始加載新頁面(但僅提出請求,但現在保持在同一頁面上),因此不能只使用直接的url鏈接。 – Amber 2010-02-24 04:30:11