400是HTTP的状态码,主要有两种形式:
1、bad request 意思是 "错误的请求";
2、invalid hostname 意思是 "不存在的域名"。
400 Bad Request 是由于明显的客户端错误(例如,格式错误的请求语法,太大的大小,无效的请求消息或欺骗性路由请求),服务器不能或不会处理该请求。
在ajax请求后台数据时比较常见。产生HTTP400错误的原因有:
1、前端提交数据的字段名称或者是字段类型和后台的实体类不一致,导致无法封装;
2、前端提交的到后台的数据应该是 json 字符串类型,而前端没有将对象转化为字符串类型;
解决方案:
1、对照字段名称,类型保证一致性
2、使用 stringify 将前端传递的对象转化为字符串:
data: JSON.stringify(param);
3、查看调试前端传的数据是否乱码,乱码的话使用encodeURIComponent对url进行编码
location.href='/indoorqc/createExcel?listBatch'+ encodeURIComponent($("#listBatch").val());