ajax請求無法下載文件


原因

ajax的返回值類型是json,text,html,xml類型,或者可以說ajax的接收類型只能是string字符串,不是流類型,所以無法實現文件下載。但用ajax仍然可以獲得文件的內容,該文件將被保留在內存中,無法將文件保存到磁盤。這是因爲JavaScript無法和磁盤進行交互,否則這會是一個嚴重的安全問題,js無法調用到瀏覽器的下載處理機制和程序,會被瀏覽器阻塞。

實現下載的方法

  1. 隱藏表單,用提交表單的形式
  2. 用window.open() 或 window.location.href()
  3. 創建iframe,iframe的src可以是文件地址url來直接下載文件

下載時注意要設置contentType,content-disposition 
response. setHeader(“content-disposition”, “attachment; filename=123.doc”); 
response.setContentType("application/msword");


參考:http://langgufu.iteye.com/blog/2076373 



發佈了32 篇原創文章 · 獲贊 40 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章