![](/img/trans.png)
[英]JQuery and PHP: is it possible to download a file via an AJAX call?
[英]Is this set up possible to enable file download on a ajax call in PHP?
我絕不是Web開發人員。 我在GWT上做了一些工作。 我們曾經在那里進行過這種設置。 由於所有內容都存在ajax,因此每次我們進行服務器RPC調用時,我們都會顯示一個進度條,當響應返回時,將在rpc / ajax的回調中關閉該進度條。
現在,我正在研究一種嘗試在PHP中進行操作的工具(我仍在學習)。 我有一個看起來像這樣的設置,
1:有一個HTML表單,其中包含一些字段。 實際上,我在這里需要一個文件上傳選項,但是例如,讓我們說有兩個文本字段。
2:用戶提交表單時。 我想打電話給ajax打電話說test.php,同時顯示進度條出現(基本上阻塞了整個頁面,但也沒有刷新頁面)。 當ajax響應到來時,我將關閉進度欄。
3:現在,如果服務器返回一些文本,則很容易處理,我可以使用document.getElementById在ajax回調中處理它。 但就我而言,我想做的是在服務器端使用post參數進行處理,創建一個文本文件並返回它。 然后回到客戶端並關閉進度。
我編寫了一個示例腳本,該腳本通過設置標頭返回文件
header('內容描述:文件傳輸');
header('Content-Type:text / csv');
header('Content-Disposition:附件; filename ='。$ file);
因此,此php文件可以獨立正常運行,當我在瀏覽器中打開它時,它會引發一個下載鏈接。 當我嘗試通過ajax請求調用它時,它不返回任何內容。
誰能告訴我這種方法是否不正確?
<script>
window.open("filedownload.php, '_self', false);
</script>
將提示用戶下載文件而無需導航到新頁面。
瀏覽器將處理下載進度顯示。 這是用戶會熟悉的體驗。
如果要在ajax請求完成時下載文件,則將上述代碼添加到XMLHttpRequest
回調中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.