怎么实现使用ajax请求,然后将数据更新在前端页面。
function like(e) {
var id = e.getAttribute("id");
$.ajax({
type:"GET",
url:"/like",
data:{
id:id
},
success:function (res) {
$("#like_"+id).text(parseInt($("#like_"+id).text())+1);
}
});
}
上面的代码是使用ajax发送请求到后端,是实现一个点赞的功能。
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("application/json; charset=utf-8");
resp.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("UTF-8");
String id = req.getParameter("id");
contentService.incLikeCountById(Integer.parseInt(id));
PrintWriter pw = resp.getWriter();
pw.print(100);
pw.flush();
pw.close();
}
本来想点赞之后,更新数据的点赞数,然后将点赞数返回的,后面想想还是算了,减少一下数据库的压力,直接在js中使用+1操作, 在不刷新页面的前提下完成。
$("#like_"+id).text();
使用$("#like_"+id).text();
获取到的是字符串,如何在$("#like_"+id).text()+1
是进行字符串的拼接。
需要将其转换成int类型
parseInt($("#like_"+id).text())
后再进行+1操作。