[問題] 下載檔案

看板Ajax作者 (阿風~~)時間10年前 (2014/06/01 14:36), 編輯推噓3(3010)
留言13則, 3人參與, 最新討論串2/2 (看更多)
我有一個網頁,是用mvc的方式寫的, 我想做的事是,使用者用$.post的方式到一個網頁後 那個action會return file回來,那在原頁面要能直接 下載或是開啟檔案,該怎麼做呢? MVC return file回來是怎樣的形式? 而前端該怎麼做接收方式? 例:我在index頁面裡,有一個按鈕,按了會執行 function sendback(){ $.post("getfile",{id:"A"},function(){ 在這裡,我想做開啟檔案,或是出現下載 }); } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.124.131 ※ 文章網址: http://www.ptt.cc/bbs/Ajax/M.1401604589.A.2A2.html

06/01 15:22, , 1F
window.open要下載的網址 server端做處理 response
06/01 15:22, 1F

06/01 15:22, , 2F
header 標註正確 瀏覽器就會自動開起下載
06/01 15:22, 2F

06/01 18:10, , 3F
因為會傳值回去,window.open只能用get方式,要用post
06/01 18:10, 3F

06/01 18:33, , 4F
有看到可以post方式,但這樣會換頁,我希望不要換頁
06/01 18:33, 4F

06/01 19:03, , 5F
建一個form method用post target用_blank然後submit
06/01 19:03, 5F

06/01 19:05, , 6F
其實直接指location.href就行了 如果content-type是
06/01 19:05, 6F

06/01 19:05, , 7F
下載的話我記得是不會換頁的
06/01 19:05, 7F

06/01 19:05, , 8F
喔要post的話還是得靠form
06/01 19:05, 8F

06/01 19:06, , 9F
總之想靠javascript直接寫檔案是行不通的 安全性問題
06/01 19:06, 9F

06/01 20:48, , 10F
我目前是用target=_blank的方式,連結的話,還是會換頁
06/01 20:48, 10F

07/22 11:55, , 11F
我是弄一個隱藏的iframe,然後form的target指向他
07/22 11:55, 11F

07/22 11:56, , 12F
把要post資料submit出去之後,只要接收端呈現的是檔案
07/22 11:56, 12F

07/22 11:56, , 13F
就會自動下載了
07/22 11:56, 13F
文章代碼(AID): #1JYidjAY (Ajax)
討論串 (同標題文章)
文章代碼(AID): #1JYidjAY (Ajax)