解决window.location.href参数太长问题

window.location.href参数超出限制问题解决
需求:
vue导出传参给后端导出excel

导出数据

原来写法:

    exportData(){
                let params=`?data1=${this.form.data1}&bdid=${this.form.bdid}&cdid=${this.form.cdid}&imei=${this.form.imei}&softVer=${this.form.softVer}&data2=${this.form.data2}&data6=${this.form.data6}&data7=${this.form.data7}&customer=${this.form.customer}&deliveryDate=${this.form.deliveryDate}&deliveryType=${this.form.deliveryType}&data8=${this.form.data8}&data9=${this.form.data9}&data10=${this.form.data10}`;

                let url=this.api.getBaseUrl()+'/bcidAndxx/importBcidxxxxx'+params;
                window.location.href=url;
            },

改为:

exportData(){
  let params={};
  Object.assign(params,this.form);
  let url=this.api.getBaseUrl()+'/bcidAndxx/importBcidxxxxx/';
 // 创建form元素
  var temp_form = document.createElement("form");
  // 设置form属性
  temp_form .action = url;
  temp_form .target = "_self";
  temp_form .method = "post";
  temp_form .style.display = "none";
  // 处理需要传递的参数
  for (var x in params) {
    var opt = document.createElement("textarea");
    opt.name = x;
    opt.value = params[x];
    temp_form .appendChild(opt);
  }
  document.body.appendChild(temp_form);
  // 提交表单
  temp_form .submit();
},

后端也改为POST,问题即可解决。

你可能感兴趣的:(HTTP,java)