2011-10-20 52 views
0

這更多的好奇心是什麼,但我可以想到幾個地方(主要是在管理部分),這可能是有用的。我知道標題混淆,所以這就是我的意思:使用jQuery.post()提交內容並顯示發生了什麼

假設你有一個表單發佈到example_cb.php。 example_cb.php是一個非常大的回調頁生成圖像的多個縮略圖,使他們在各自的目錄中,將它們添加到一個數據庫,等等。你已經jQuery的,像這樣

$.post('example_cb.php', $(this).serialize(), function(data) { 
    // Success 
}, 'json'); 
函數具有形式發佈

發佈之前,它更新了一個div來說「處理」的東西。然後成功完成div淡出。但是你想讓div顯示服務器端正在發生的事情。即轉換200X200拇指>轉換350x350拇指>添加記錄到數據庫>等

你怎麼能做到這一點?

我知道這是一個有問題的問題,但我相信有足夠聰明的人可以弄清楚。如果您需要更多信息請評論:)

回答

0

你可以做這樣的事情 -

  • 寫每個「事件」更新到數據庫表
  • 編寫從表
  • 檢索最後n活動的網頁
  • 使用類似'load'的方式,使用更新的進度調用頁面更新屏幕div 。
  • 使用'setTimeout`繼續更新。
0

這可以通過使用push方法來實現,但我不太熟悉ajax push或comet技術,所以我會給你一個解決方案。

基本上你需要創建初始的ajax請求來開始處理。然後,你需要在一個緊密的循環中運行另一個請求,以檢查當前狀態的php頁面。例如,在執行處理的php頁面上,您可以更新存儲當前處理信息的_SESSION密鑰(如「轉換200X200拇指」)。另一個php頁面將純粹爲了打印這些信息而存在,並且您可以使用循環運行的JS檢索它。

0

pusher類似的服務可用於雙向通信。

我把它記下來作爲參考,雖然這對於這樣一個簡單的scenerio來說可能會矯枉過正。

相關問題