上面是部分页面
$("#updateSupport").val()-->获取checkbox的值
function submitHandler() {
if ($.validate.form()) {
var formData = new FormData();
//其他字段内容
formData.append('updateSupport',$("#updateSupport").val());
formData.append('rateTemp',$("#rateTemp").val());
formData.append('type',$("#type").val());
//图片文件内容
formData.append('file', $('#file')[0].files[0]);
$.ajax({
url: prefix + "/importData",
type: 'post',
cache: false,
data: formData,
beforeSend: function () {
$.modal.loading("正在处理中,请稍后...");
$.modal.disable();
},
processData: false,
contentType: false,
dataType: "json",
success: function(result) {
$.operate.successCallback(result);
}
});
}
}
上面的获取checkbox的值的方法,不管选没选,updateSupport传入后台一直为true
修改获取checkbox的值的方法,即可解决上述问题
formData.append('updateSupport',$("#updateSupport").is(":checked"));
或
formData.append('updateSupport',$("#updateSupport").prop("checked"));
后端代码
@PostMapping("/importData")
@ResponseBody
public AjaxResult importData(MultipartFile file, boolean updateSupport, Long rateTemp, Long type) throws Exception {
ExcelUtil<Product> util = new ExcelUtil<Product>(Product.class);
List<Product> productList = util.importExcel(file.getInputStream());
String message = productService.importUser(productList, updateSupport, rateTemp, type);
return AjaxResult.success(message);
}