- iframe、form表单提交的方法不能设置请求头;
- jq的ajax不能处理blob文件,这里用原生XMLHttpRequest,
- 可以设置请求头参数,post方式,处理blob文件
前端代码
/**
* 导出文件方法
* @param {url} 导出方法路径
* @param {data} 传输参数(Json类型)
* @param {loadSuccess} 调用成功回调方法
* @param {timeout} 请求过期时间(毫秒级 1000毫秒=1秒)
**/
function ExportFile(url, data, loadSuccess, timeout) {
// $.msg.loading();//loading效果
var xmlResquest = new XMLHttpRequest();
xmlResquest.open("POST", url, true);
xmlResquest.setRequestHeader("Content-type", "application/json");
//xmlResquest.setRequestHeader("token", "xxx");// 设置请求头参数
xmlResquest.timeout = timeout || (1000 * 60);// 超时时间,单位是毫秒
xmlResquest.responseType = "blob";//该属性必须设置
xmlResquest.onload = function (oEvent) {
// $.msg.clos