作者wind681201 (阿風~~)
看板Ajax
標題[問題] 下載檔案
時間Sun Jun 1 14:36:25 2014
我有一個網頁,是用mvc的方式寫的,
我想做的事是,使用者用$.post的方式到一個網頁後
那個action會return file回來,那在原頁面要能直接
下載或是開啟檔案,該怎麼做呢?
MVC return file回來是怎樣的形式?
而前端該怎麼做接收方式?
例:我在index頁面裡,有一個按鈕,按了會執行
function sendback(){
$.post("getfile",{id:"A"},function(){
在這裡,我想做開啟檔案,或是出現下載
});
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.124.131
※ 文章網址: http://webptt.com/m.aspx?n=bbs/Ajax/M.1401604589.A.2A2.html
1F:推 mrbigmouth:window.open要下載的網址 server端做處理 response 06/01 15:22
2F:→ mrbigmouth:header 標註正確 瀏覽器就會自動開起下載 06/01 15:22
3F:→ wind681201:因為會傳值回去,window.open只能用get方式,要用post 06/01 18:10
4F:→ wind681201:有看到可以post方式,但這樣會換頁,我希望不要換頁 06/01 18:33
5F:推 mrbigmouth:建一個form method用post target用_blank然後submit 06/01 19:03
6F:→ mrbigmouth:其實直接指location.href就行了 如果content-type是 06/01 19:05
7F:→ mrbigmouth:下載的話我記得是不會換頁的 06/01 19:05
8F:→ mrbigmouth:喔要post的話還是得靠form 06/01 19:05
9F:→ mrbigmouth:總之想靠javascript直接寫檔案是行不通的 安全性問題 06/01 19:06
10F:→ wind681201:我目前是用target=_blank的方式,連結的話,還是會換頁 06/01 20:48
11F:推 Peruheru:我是弄一個隱藏的iframe,然後form的target指向他 07/22 11:55
12F:→ Peruheru:把要post資料submit出去之後,只要接收端呈現的是檔案 07/22 11:56
13F:→ Peruheru:就會自動下載了 07/22 11:56