SpringMVC接收ajxa提交的数组数据

Controller

	/**
	 * 保存商品评论
	 */
	@PostMapping("/newSave")
	public ResponseEntity<?> newSave(@RequestBody Review[] reviews, @CurrentUser Member currentUser, HttpServletRequest request) {
		Setting setting = SystemUtils.getSetting();
		if (!setting.getIsReviewEnabled()) {
			return Results.unprocessableEntity("shop.review.disabled");
		}
		
		for(Review review : reviews){
			OrderItem item = orderItemService.find(review.getOrderItem().getId());
			Sku sku = item.getSku();
			Product product = item.getSku().getProduct();
			review.setIp(request.getRemoteAddr());
			review.setMember(currentUser);
			review.setProduct(product);
			review.setOrderItem(item);
			review.setSku(sku);
			review.setIsShow(!setting.getIsReviewCheck());
			reviewService.save(review);
		}
		
		return setting.getIsReviewCheck() ? Results.ok("shop.review.check") : Results.ok("shop.review.success");
	}


JS

			//发表评论
			$(".SaveInfo").click(function(){
				var reviews = [];
				var boxs = $(".comment_box");
				
				for(var i = 0; i < boxs.length; i++){
					var box = $(boxs[i]);
					
					//评论内容
					var content = $(box.find("textarea")[0]).val();
					
					//图片列表
					var attachments = [];
					var addImgs = box.find(".addImg");
					var length = addImgs.length;
					if(length > 0){
						addImgs.each(function(i,o){
							var path = $(o).find("img").attr("path");
							attachments.push({
								path: path
							});
						})
					}
					
					var review = {
						orderItem: {
							id: box.attr("id")
						},
						content: content,
						reviewAttachments: attachments
					}
					reviews.push(review);
				}
				
				$.ajax({
					url:"${base}/review/newSave",
					type: "post",
					data: JSON.stringify(reviews),
					dataType: "json",
					contentType:"application/json", // 指定这个协议很重要	
					success: function(){
						$.alert("发表成功");
					},
					error: function(){
						$.alert("出错了,请联系客服");
					}
				});
			});


同类文章