0
我有一個url,返回一個文件或錯誤的JSON響應。當請求可以接受時,它會響應一個文件,並提示用戶下載文件(正如人們在這種情況下所預期的那樣)。當請求發生問題時,響應是一個JSON對象,應該通過JavaScript進一步處理。返回文件或JSON響應的url上的AJAX?
該請求是通過JavaScript(AJAX,在新標籤中打開,生成iframe,無論)。我該如何去處理通過javascript處理來自同一網址的兩種響應?
的策略,我現在有(沒有得到工作尚未)修修補補是:
- 生成一個iframe
- 將表單插入iframe的
- 將
error
事件處理器在iframe上 - 觸發器提交表單(我有控制響應標題,所以我可以使用
Content-Disposition: attachment
來強制保存對話框。) - 如果
error
觸發事件處理程序,報廢的iframe的JSON響應
原來error
事件不被解僱的I幀當iframe是load
事件不會在某些瀏覽器發射指向一個觸發保存對話框的文件。
錯誤你得到函數(jqXHR jqXHR,字符串textStatus,字符串errorThrown),無論成功的類型響應。所以不應該是一個問題 –
@BryanDellinger這是真的。但是,成功時應提示用戶下載提供的文件。我想知道的是如何將響應提交給用戶進行保存(就像您可以使用正常下載一樣),同時仍然捕獲相同請求的可能錯誤響應。 – Ouroborus
瞭解它,類似的問題在這裏http://stackoverflow.com/questions/3077242/force-download-a-pdf-link-using-javascript-ajax-jquery它建議使用html5下載屬性 –