0
我試圖觸發$(位置).attr()完成時的事件。當attr()被用來改變一個img src時,我發現了很多解決方案,但是沒有使用$(location).attr()。
你可能會問爲什麼我想這樣做? 在我的應用程序中,我有一個按鈕將數據導出到xml(在後臺使用php代碼)。但是,這可能需要一些時間(幾秒鐘!)。所以,我想顯示一個小小的「在請輸出時請等待」,然後在生成xlsx並開始下載後將其刪除。
這可能嗎?
我試圖觸發$(位置).attr()完成時的事件。當attr()被用來改變一個img src時,我發現了很多解決方案,但是沒有使用$(location).attr()。
你可能會問爲什麼我想這樣做? 在我的應用程序中,我有一個按鈕將數據導出到xml(在後臺使用php代碼)。但是,這可能需要一些時間(幾秒鐘!)。所以,我想顯示一個小小的「在請輸出時請等待」,然後在生成xlsx並開始下載後將其刪除。
這可能嗎?
$("#waitMessage").show();
$.post("processing.php", yourParameters)
.then(function (data) {
// handle success
})
.fail(function() {
// handle server error
})
.always(function() {
$("#waitMessage").hide();
})
我想你正在使用ajax。那麼爲什麼不在請求之前設置加載消息,並在成功/完成回調中刪除此消息呢? –
如果您正在更改實際的'window.location',那麼將重新加載頁面或在設置內容處置後開始下載,如果這是您要做的事情,請更好地解釋它。另外,在jQuery中封裝位置對象通常不是很好的形式? – adeneo
$(location).attr('href',「/」+ module +「s/export/index?type =」+ params.type +「...其他參數...」);然後在我的PHP中,我用$ objWriter-> save('php:// output')完成我的控制器; (objWriter是一個PHPExcel對象),使我下載文件。該位置不會重新加載頁面 – Olivier