推 UniFish:你可以查查各web server傳檔的content-type是什麼 08/11 22:51
→ UniFish:像是apache是X-Sendfile,交給web去傳檔案會比較好 08/11 22:51
→ UniFish:不過也是不清處$.ajax會怎麼處理 08/11 22:52
→ UniFish:以你的解法來說,可以在ajax的success事件中加上: 08/11 22:52
→ UniFish:document.location.href = url; 這樣就會自己跳你要的LINK 08/11 22:53
→ wzbird:請問你的意思是還是content-type的問題嗎? 08/11 23:02
→ wzbird:那為什麼單獨執行quering.php可以下載 08/11 23:03
→ wzbird:但是用JQ去呼叫他就不行呢? 感謝回應 08/11 23:03
推 UniFish:應該這麼說,我在寫傳檔時都會叫webserver去傳,不用PHP傳 08/11 23:12
→ UniFish:而都是跳blank出來就會自動下載了 08/11 23:13
→ UniFish:在回你那篇時,我沒有留意到你的主程式是用ajax去傳, 08/11 23:14
→ UniFish:$.ajax對於回傳值處理有限制,像是HTML、JSON之類的,處理 08/11 23:15
→ UniFish:方式都不一樣,這部份可能要看jQuery的原始碼~(爆) 08/11 23:16
→ UniFish:我比較傾向單純的作法,像是叫ws去傳、用FORM POST或GET 08/11 23:17
推 UniFish:我回文好了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
推 wzbird:感謝熱心回覆! 08/11 23:40