我正在顯示100個記錄列表以及來自servlet的圖像和圖像。如何在jsp中使用ajax或jQuery進行後臺進程
現在的事情是,我加載圖像供以後使用像poup事情。
那麼,有沒有我可以加載這個圖像作爲背景進程,這一進程不會中斷頁面加載任何方式(目前它正在20分鐘到整個頁面加載只是由於圖像的servlet)
任何方式就像使用ajax作爲後臺進程調用,或者使用java一些其他方式。
任何建議,將不勝感激。
謝謝。
我正在顯示100個記錄列表以及來自servlet的圖像和圖像。如何在jsp中使用ajax或jQuery進行後臺進程
現在的事情是,我加載圖像供以後使用像poup事情。
那麼,有沒有我可以加載這個圖像作爲背景進程,這一進程不會中斷頁面加載任何方式(目前它正在20分鐘到整個頁面加載只是由於圖像的servlet)
任何方式就像使用ajax作爲後臺進程調用,或者使用java一些其他方式。
任何建議,將不勝感激。
謝謝。
如果它需要20分鐘,我會親自創建一個用於創建HTML頁面的前一個servlet。 myresult.html如果沒有完成或請求已在處理中,我會返回「正在處理中,請稍候」或類似的東西,當它完成時,我會重定向/加載到新創建的html。
如果你想用JavaScript來使其遵循同樣的理念,而不是返回,你可以返回一個JSON消息,JavaScript變量你有什麼...並與一些週期性前檢查這個消息的消息。 setTimeout(checkMessage,60000);
UPDATE
如果你只需要後主要頁面已經被加載,你可以使用一些JavaScript函數加載圖像時,頁面已經被加載event on load加載一些圖片,或者如果您使用jQuery當頁面是ready,然後加載圖像異步與jquery here或只是用普通的javascript here
我希望這可以幫助。
我已經在頁面加載時放入了「請稍候」類型的消息,但仍然此頁面有時需要更多時間加載,我認爲這只是由於如果我刪除此頁面然後在2分鐘內加載。我只需要加載包含圖像使用後臺進程的div,因爲這個圖像不是直接顯示在頁面上,但我已經把它放在懸停彈出窗口上。 – Sweety
我認爲你可以學習與JavaScript的異步編碼。例如,
f1(); // We assume f1() will take a long time and it will block page loading.
f2(); // And f2() must be execute after f1()
// Other code here will be blocked by f1()
我們可以簡單地使用setTimeout()來像這樣異步執行f1()。
function f1(callback){
setTimeout(function() {
// Here is the work will do in f1()
// You can move upper f1() code to here
callback();
}, 20 * 60 * 1000);
}
f1(f2);
// Other code here without being blocked by f1()
多個異步編碼提示可以在這裏找到:http://sporto.github.io/blog/2012/12/09/callbacks-listeners-promises/
從你的評論,我認爲你可以刪除或者用替代。並且在$(document).ready(function(){/ *替換您的img標籤或更新您的src屬性img tag * /}); @甜 –
你的servlet應該只是創造的記錄列表。稍後,您應該使用ajax調用加載圖像。
它需要20分鐘來加載在瀏覽器或Servlet的圖像(大的內容)不是最佳的,這是一個性能問題? –