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

首頁 > 開發 > JS > 正文

使用JS代碼實現點擊按鈕下載文件

2024-05-06 16:32:52
字體:
來源:轉載
供稿:網友

正文

有時候我們在網頁上需要增加一個下載按鈕,讓用戶能夠點擊后下載頁面上的資料,那么怎樣才能實現功能呢?這里有兩種方法:

現在需要在頁面上添加一個下載按鈕,點擊按鈕下載文件。

題外話,這個下載圖標是引用的 font-awesome 上面的。使用時,首先將 font-awesome 整個文件夾下載下來,利用bower或者是自己去官網上面下載都行。

將整個文件夾放在項目文件中之后,在頁面上面引入css文件

<link href="libs/font-awesome-4.7.0/css/font-awesome.min.css" type="text/css" rel="stylesheet">

在頁面上可以開始使用所需要的圖標了

<i class="fa fa-download" aria-hidden="true" target='_blank'>excel文件模板,可以先將該文件放在項目文件夾下面,然后在頁面下載按鈕上加上onclick事件:

<i class="fa fa-download" aria-hidden="true" title="下載" onclick="window.open('file/user.xlsx')"></i>

這樣在點擊圖標之后,文件就會自動下載了。

2.發送請求地址下載文件

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

1)get請求

$('.download').click(function () {var tt = new Date().getTime();var url = 'http://192.168.1.231:8080/91survey/ws/excel/download';/*** 使用form表單來發送請求* 1.method屬性用來設置請求的類型——post還是get* 2.action屬性用來設置請求路徑。* */var form=$("<form>");//定義一個form表單form.attr("style","display:none");form.attr("target","");form.attr("method","get"); //請求類型form.attr("action",url); //請求地址$("body").append(form);//將表單放置在web中  /*** input標簽主要用來傳遞請求所需的參數:** 1.name屬性是傳遞請求所需的參數名.* 2.value屬性是傳遞請求所需的參數值.** 3.當為get類型時,請求所需的參數用input標簽來傳遞,直接寫在URL后面是無效的。* 4.當為post類型時,queryString參數直接寫在URL后面,formData參數則用input標簽傳遞* 有多少數據則使用多少input標簽*   */var input1=$("<input>");input1.attr("type","hidden");input1.attr("name","tt");input1.attr("value",tt);form.append(input1);var input2=$("<input>");input2.attr("type","hidden");input2.attr("name","companyId");input2.attr("value",companyId);form.append(input2);form.submit();//表單提交})

2)post請求

$('.download').click(function(){var tt =newDate().getTime();var url = restUrl +'/excel/download?userId='+ userId;var form=$("<form>");//定義一個form表單form.attr("style","display:none");form.attr("target","");form.attr("method","post");//請求類型form.attr("action",url);//請求地址$("body").append(form);//將表單放置在web中var input1=$("<input>");input1.attr("type","hidden");input1.attr("name","tt");input1.attr("value",tt);form.append(input1);var input2=$("<input>");input2.attr("type","hidden");input2.attr("name","companyId");input2.attr("value",companyId);form.append(input2);form.submit();//表單提交});

完成后,在頁面上面點擊下載圖標,文件就會自動下載了。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 尼勒克县| 泾源县| 巴林左旗| 明溪县| 股票| 开远市| 尼勒克县| 清涧县| 玉林市| 调兵山市| 体育| 吉隆县| 辽阳县| 万载县| 太原市| 若尔盖县| 岳阳县| 嘉禾县| 铜陵市| 辽阳县| 宜章县| 昌黎县| 阆中市| 卓资县| 镇雄县| 林甸县| 平果县| 突泉县| 定州市| 淳安县| 安远县| 肥城市| 象州县| 佛山市| 阜城县| 乐安县| 沭阳县| 沅江市| 航空| 梁山县| 南乐县|