要求:通过get请求传参,参数中有一个是数组,请求成功后在浏览器创建下载事件,将从后台获取的文件自动下载下来。
一般情况下,get请求方式不能传递数组,所以我采用了拼接url的方法。拼接好之后通过get请求url,并使用window对象的open函数打开url。
首先了解 qs.stringify: https://blog.csdn.net/pifutan/article/details/86320705
总之,qs.stringify可以帮助我们很方便地将数组boardId[]转化字符串形式:
boardId=1&boardId=2&boardId=3…的形式。
回到正题,
download(){
var boardId = [];
if (this.sbrank == '') {
for (var i in localboardList) {
boardId.push(localboardList[i].boardId)
}
} else {
boardId.push(this.sbrank)
}
qs.stringify(boardId, {arrayFormat: 'repeat'})
var urlString
urlString = qs.stringify({boardId:boardId}, {arrayFormat: 'repeat'})
//开始拼接字符串
urlString = userTrainReocrdUrl + '/admin/traincourse/exportCourseBack?' + u