页面下载文件方法,post与get
Posted luoxuemei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了页面下载文件方法,post与get相关的知识,希望对你有一定的参考价值。
一般下载文件,常见使用的是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的主要内容,如果未能解决你的问题,请参考以下文章