2012-11-07 59 views
0

在這個論壇上花了相當一段時間尋找類似於我的問題的答案,但無法找到與我的案例相匹配的答案。顯示「等待」光標,然後窗體帖子返回一個文件

我有一個HTML表單,我通過javascript提交給我的aspx頁面。

function Submit() 
{ 
    document.MyFormName.action = 'StreamPDF.aspx' 
    document.MyFormName.submit(); 
} 

StreamPDF.aspx返回application/pdf,它向用戶顯示打開/保存對話框。生成PDF需要相當長的一段時間,用戶需要看到「等待」光標。這是一個簡單的aspx頁面(沒有MVC,沒有其他插件)。

所以我唯一的選擇是使用javascript發佈數據。最接近的答案是this。 我接受了這個鏈接的想法,就在我提交iframe之前,我正在設置等待光標。但我無法知道PDF是否回來,因爲我無法將cookie發送到瀏覽器。這是我的限制。所以我仍然在廣場1。任何幫助將不勝感激。

+0

這不是你的問題的答案,但可能它可能有幫助。 我最近有一個類似的問題,我發現你發佈的鏈接相同。最後,我發現使用javascript做這件事並不是正確的做法,所有所謂的解決方案都充滿了不良做法和其他需要避免的事情。 如果可以,只需將表單定位到_blank頁面,並且所有內容都可以正常工作。當然,你不會有ajax fanciness,但你的用戶不會在意。 – Robyflc

+0

使用AJAX提交表單,然後讓服務器在完成時調用成功函數。 – David

+0

@Robyflc:_blank有效。但是打開的窗口將在Safari窗口上保持打開狀態。這對我來說是一個殺手。因此,這個問題。 –

回答

0

一試幾次嘗試之後得到這個工作,我意識到,唯一的非侵入性的方法來解決這個問題是我發佈的鏈接的建議。讓服務器通過設置由客戶端腳本刪除的cookie來通知客戶端文件已流式傳輸。

感謝您的回覆。