前端代码:
//数据集
var dataList = {
"productCategoryId": productCategoryId,
"productIsEnabled": productIsEnabled,
"productName": productName,
"productTitle": productTitle,
"productPrice": productPrice,
"productSalePrice": productSalePrice,
"propertyMap": propertyMap,
"productSingleImageList": productSingleImageList,
"productDetailsImageList": productDetailsImageList
};
doAction(dataList, "product/saveProduct", "POST"); //调用方法
前端doAction方法:
function doAction(dataList, url, type) {
$.ajax({
url: url,
type: type,
data: JSON.stringify(dataList), // 将请求参数转换为JSON格式的字符串
contentType: "application/json", // 设置请求头部中的Content-Type头部为application/json
traditional: true,
success: function (data) {
console.log(data)
$("#btn_product_save").attr("disabled", false).val("保存");
if (data.code === 0) {
$("#btn-ok,#btn-close").unbind("click").click(function () {
$('#modalDiv').modal("hide");
setTimeout(function () {
//ajax请求页面
ajaxUtil.getaPge("product/toProductDetails/" + data.data.productId, null, true);
}, 170);
});
$(".modal-body").text(data.data.msg);
$('#modalDiv').modal();
}
},
beforeSend: function () {
$("#btn_product_save").attr("disabled", true).val("保存中...");
},
error: function () {
}
});
}
后端代码:
@PostMapping("saveProduct")
@Transactional
@ResponseBody
public R saveProduct(@RequestBody Map<String, Object> dataList) {
String categoryId = (String) dataList.get("productCategoryId");
int productCategoryId = 0;
byte productIsEnabled = 0;
String isEnabled = (String) dataList.get("productIsEnabled");
String productName = (String) dataList.get("productName");
String productTitle = (String) dataList.get("productTitle");
Double productPrice = new Double((String) dataList.get("productPrice"));
Double productSalePrice = new Double((String) dataList.get("productSalePrice"));
Map<String, Object> propertyMap = (Map<String, Object>) dataList.get("propertyMap");
try {
productCategoryId = Integer.parseInt(categoryId); //将String类型强转为int
productIsEnabled = Byte.parseByte(isEnabled); //将String类型强转为byte
// ...
} catch (NumberFormatException e) {
// 处理字符串格式不正确的情况
}
List<String> productSingleImageList = (List<String>) dataList.get("productSingleImageList");
List<String> productDetailsImageList = (List<String>) dataList.get("productDetailsImageList");
按照上面三步即可解决前端传数组后端如何接收问题!!!