1. 程式人生 > >頁面下載文件方法,post與get

頁面下載文件方法,post與get

close name input type ear write iframe 自己 style

一般下載文件,常見使用的是window.open(‘url‘);方法進行下載。若需要帶參數,直接在url後面拼接參數,進行傳遞。window.open方法僅可以進行get方法進行參數提交。

若需要進行post方法提交,則有點麻煩,經過網上的方法進行參數,最後自己整理出能用的方法:

handleExport(){
const url=‘/api/admin/gateLog/export‘;
const downloadHelper = $(‘<iframe style="display:none;" id="downloadHelper"></iframe>‘).appendTo(‘body‘)[0];

const doc = downloadHelper.contentWindow.document;
if (doc) {
doc.open();
doc.write(‘‘);//微軟為doc.clear()有時會出bug
doc.writeln("<html><body><form id=‘downloadForm‘ name=‘downloadForm‘ method=‘post‘ action=‘"+ url+"‘>");
const queryParam = this.listQuery;
for(let key in queryParam){

doc.writeln("<input type=‘hidden‘ name=‘"+key+"‘ value=‘"+queryParam[key]+"‘>");
}
doc.writeln(‘<\/form><\/body><\/html>‘);
doc.close();
const form = doc.forms[0];
if (form) {
form.submit();
}
}
}

其中,
 const queryParam = this.listQuery,中listQuery中獲取的數據是一個obj對象,
 const queryParam={page: 1,limit: 20,menu_EQ_S: undefined,crtName_EQ_S: undefined,crtHost_EQ_S: undefined}

頁面下載文件方法,post與get