D19 Sping Boot 入门 Sping框架--Java Web之书城项目(九) AJAX
一、使用AJAX验证用户名是否可用
// 给加购按钮绑定单击事件 $(".addToCart").click(function () { var bookId = $(this).attr("bookId"); //location.href="${pageScope.basePath}cartServlet?action=addItem&id="+bookId; // 发ajax请求,添加商品到购物车 $.getJSON("${pageScope.basePath}cartServlet","action=ajaxAddItem&id="+bookId,function (data) { console.log(data); $("#cartTotalCount").text("您的购物车中有"+data.totalCount+"件商品"); $("#cartLastName").text(data.lastName); }) });
1 /** 2 * ajax返回购物车信息 3 * @param req 请求 4 * @param resp 响应 5 */ 6 protected void ajaxAddItem(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 7 8 //1、获取请求的参数 9 //2、调用BookService.queryBookById(id):Book得到图书的信息 10 //3、把图书信息转化为CartItem商品项 11 //4、调用Cart.addItem(cartItem);添加商品项 12 13 //1、获取请求的参数 14 int id = WebUtils.parseInt(req.getParameter("id"),0); 15 16 //2、调用BookService.queryBookById(id):Book得到图书的信息 17 18 Book book = bookService.querryBookById(id); 19 20 //3、把图书信息转化为CartItem商品项 21 CartItem cartItem = new CartItem(book.getId(),book.getName(),1,book.getPrice(),book.getPrice()); 22 23 //4、调用Cart.addItem(cartItem);添加商品项 24 Cart cart = (Cart) req.getSession().getAttribute("cart"); 25 if (cart == null){ 26 27 cart = new Cart(); 28 req.getSession().setAttribute("cart",cart); 29 } 30 31 cart.addItem(cartItem); 32 33 //最后一个添加的商品名称 34 req.getSession().setAttribute("lastName",cartItem.getName()); 35 36 Map<String,Object> resultMap = new HashMap<String,Object>(); 37 38 resultMap.put("totalCount",cart.getTotalCount()); 39 resultMap.put("lastName",cartItem.getName()); 40 41 Gson gson = new Gson(); 42 String json = gson.toJson(resultMap); 43 44 resp.getWriter().write(json); 45 46 }