国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > AJAX > 正文

Ajax如何實現文件下載

2024-09-01 08:30:31
字體:
來源:轉載
供稿:網友

大家都知道一般情況下ajax是用來請求服務端的數據的,但是有時候在做項目的時候需要文件下載,那么你知道Ajax如何實現文件下載嗎?現在我們去看看Ajax實現文件下載的方法。

JQuery的ajax函數的返回類型只有xml、text、json、html等類型,沒有“流”類型,所以我們要實現ajax下載,不能夠使用相應的ajax函數進行文件下載。但可以用js生成一個form,用這個form提交參數,并返回“流”類型的數據。在實現過程中,頁面也沒有進行刷新。

1. 使用ajax,ajax的返回值類型是json,text,html,xml類型,或者可以說ajax的發送,接受都只能是string字符串,不能流類型,所以無法實現文件下載,強用會出現response沖突。如果非要使用ajax的話,只能通過返回值得到生成的文件相關url。然后在回調函數里通過創建一個iframe,并設置其src值為文件url,或者一個對文件生成流的處理url,這樣操作來實現文件下載且頁面無刷新。

2. 不使用ajax,通過dom動態操作或創建iframe,form的方式來實現,在下載文件的同時實現頁面不刷新,其中iframe的src可以是文件地址url來直接下載文件,也可以是流處理url通過response流輸出下載,form的是流處理url通過response流輸出下載,dom動態操作的時候實現文件下載,且頁面無刷新。要在下載的同時實現進度條的話,可以創建一個定時任務,每隔一定時間就向后臺發送請求,通過公用的對象,比如session,來取得文件下載的處理進度。

var title=$("input[name='gjzSelect']").val();var rqTime = $(".ui-datepicker-time").val();var ddd= rqTime.split("一");var startTime=ddd[];var endTime=ddd[];var form = $("<form>"); //定義一個form表單form.attr('style', 'display:none'); //在form表單中添加查詢參數form.attr('target', '');form.attr('method', 'post');form.attr('action', "<%=basePath%>jiankong/madeExcel.do");var input = $('<input>');input.attr('type', 'hidden');input.attr('name', 'startTime');input.attr('value', startTime);var input = $('<input>');input.attr('type', 'hidden');input.attr('name', 'endTime');input.attr('value', endTime);var input = $('<input>');input.attr('type', 'hidden');input.attr('name', 'title');input.attr('value', title);$('body').append(form); //將表單放置在web中form.append(input); //將查詢參數控件提交到表單上form.append(input);form.append(input);form.submit();<%-- $.ajax({url:'<%=basePath%>jiankong/madeExcel.do',cache:false,data:{'startTime':startTime,'endTime':endTime,'title' :title},error:function (e){alert("導出失敗!");},success:function (data){alert("導出成功!");} }); --%>

本文給大家介紹了Ajax如何實現文件下載的相關知識,涉及到ajax文件下載方面的知識,本文介紹的非常詳細,具有參考借鑒價值,感興趣的朋友一起學習吧

上一篇:實現Ajax跨域

下一篇:關于Ajax的優缺點

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 咸丰县| 乐平市| 项城市| 广丰县| 泸水县| 民权县| 南和县| 平武县| 兴城市| 黎平县| 旬阳县| 西青区| 中卫市| 乌鲁木齐市| 金平| 博罗县| 尚义县| 甘孜| 淮安市| 阿拉善右旗| 木里| 横峰县| 建水县| 余庆县| 朔州市| 武隆县| 井陉县| 阿克苏市| 治县。| 乐昌市| 岳阳市| 台江县| 陵水| 巩义市| 濮阳县| 舒兰市| 临夏市| 武汉市| 通化县| 兰考县| 南岸区|