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     }

 

 

 

posted @ 2020-06-12 14:49  nuister  阅读(201)  评论(0编辑  收藏  举报