用ajax请求提交表单时,出现以上情况
400(错误请求)状态码表明服务器不能或不会因为被认为是某件事而处理请求客户端错误(例如,错误的请求语法,无效请求消息框架,或欺骗性请求路由)。
例:表单中有日期字段
1、页面
<label for="inputEmail3" class="col-sm-2 control-label">运行日期:</label>
<div class="col-md-3">
<div class="input-group date date-picker" data-date-format="yyyy-mm-dd">
<input class="form-control" size="16" type="text" name="yxrq" value="<fmt:formatDate value='${pointinfodetail.yxrq}' pattern='yyyy-MM-dd'/>" readonly>
<span class="input-group-addon"><span class="glyphicon glyphicon-remove"></span></span>
<span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span>
</div>
</div>
2、model
@DateTimeFormat(pattern="yyyy-MM-dd")//可将形如yyyy-MM-dd的字符串转换到Date类
private Date yxrq;
原因:
1)前端提交数据的字段名称或者是字段类型和后台的实体类不一致,导致无法封装;
2)前端提交的到后台的数据应该是json字符串类型,而前端没有将对象转化为字符串类型;
解决方案:
1)对照字段名称,类型保证一致性
2)使用stringify将前端传递的对象转化为字符串 data: JSON.stringify(param) ;