解决前端传数组,后端如何接收问题

前端代码:

//数据集
                    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");

按照上面三步即可解决前端传数组后端如何接收问题!!!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值