使用post方式导出Excel——表单提交方式

一般情况下,我们通过ajax获取数据都是采用get方式获取,但如果ajax的请求url过长时,get方式由于浏览器对url长度不同会导致无法正常获取数据,尤其是IE。

这时候,我们需要通过post请求的方式获取数据,而如果我们需要通过post方式导出Excel表格,则需要通过表单提交的方式导出Excel。

function postExcelFile(params, url) { //params是post请求需要的参数,url是请求url地址
    var form = document.createElement("form");
    form.style.display = 'none';
    form.action = url;
    form.method = "post";
    document.body.appendChild(form);

    for(var key in params){
      var input = document.createElement("input");
      input.type = "hidden";
      input.name = key;
      input.value = params[key];
      form.appendChild(input);
    }

    form.submit();
    form.remove();
  }
  //点击导出按钮导出excel表格
  exportButton.onclick = function() {
    var params = {};
    postExcelFile(params, "http://www.XXX_excel");
  }

嘿嘿,完美解决问题!如果后端返回服务器异常,则需要后台配合修改了。

猜你喜欢

转载自blog.csdn.net/qq_33036599/article/details/80844430
今日推荐