一、使用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 }