Re: [問題] post值之後, 用php readfile下載檔案失敗

看板Ajax作者 (貢貢老盃)時間14年前 (2011/08/11 23:33), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/3 (看更多)
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.46.75

08/11 22:51,
你可以查查各web server傳檔的content-type是什麼
08/11 22:51

08/11 22:51,
像是apache是X-Sendfile,交給web去傳檔案會比較好
08/11 22:51

08/11 22:52,
不過也是不清處$.ajax會怎麼處理
08/11 22:52

08/11 22:52,
以你的解法來說,可以在ajax的success事件中加上:
08/11 22:52

08/11 22:53,
document.location.href = url; 這樣就會自己跳你要的LINK
08/11 22:53

08/11 23:02,
請問你的意思是還是content-type的問題嗎?
08/11 23:02

08/11 23:03,
那為什麼單獨執行quering.php可以下載
08/11 23:03

08/11 23:03,
但是用JQ去呼叫他就不行呢? 感謝回應
08/11 23:03

08/11 23:12,
應該這麼說,我在寫傳檔時都會叫webserver去傳,不用PHP傳
08/11 23:12

08/11 23:13,
而都是跳blank出來就會自動下載了
08/11 23:13

08/11 23:14,
在回你那篇時,我沒有留意到你的主程式是用ajax去傳,
08/11 23:14

08/11 23:15,
$.ajax對於回傳值處理有限制,像是HTML、JSON之類的,處理
08/11 23:15

08/11 23:16,
方式都不一樣,這部份可能要看jQuery的原始碼~(爆)
08/11 23:16

08/11 23:17,
我比較傾向單純的作法,像是叫ws去傳、用FORM POST或GET
08/11 23:17

08/11 23:20,
我回文好了XD
08/11 23:20
首先先說聲不好意思,你原文我只看quering.php XD 看到content-type不是平常在用的就直接回了~ 沒有留意到你是用ajax call jQuery的ajax的回傳值有限xml, json, script, html 四種處理方式都不一樣,你的CODE是用預設值:HTML html的處理方式很簡單~就直接把收到的東西噴出來就好了 而瀏覽器要跳出下載的視窗是要在取頁面時, 送出GET請求,而收到的header的Content-Type是專門用在下載的 才會觸發瀏覽器作這個動作 對於ajax的「局部更新」,瀏覽器是不會理的~ -- ˋ ˋ φhacoolman 養一隻邊境牧羊犬, / \ 養嘛養嘛養嘛 就能常常換新手機喔! / \ 嘛養嘛養嘛 │ │ 嘛養嘛養嘛 好邊境不養嗎好邊境不\ │ (●ω●) 好邊境不養嗎好邊境不養嗎 \ ︶︶ / 嘿~嘿~嘿~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.254.126.215

08/11 23:40, , 1F
感謝熱心回覆!
08/11 23:40, 1F
文章代碼(AID): #1EG_PVK6 (Ajax)
文章代碼(AID): #1EG_PVK6 (Ajax)