java ajax 点赞功能_Ajax+jQuery+bootstrap+Java实现异步点赞功能,并限制点击次数
在很多的网站上有很多不同的点赞,我不知道他们是怎么实现的,下面我来分享一下我写的点赞实现,共大家参考下,
这是我在一个项目抽取的代码,可能有些样式会发生变化,但是功能不会影响。
网页代码:
这个是根据数据库中是否可以点赞来限制能不能点的,strlist是从java后台返回的一个请求。在这里取出点赞数和文章点赞的编号做为参数到Ajax上
class="btn btn-default btn-xs">
赞
${strlist.dzCount}
赞
${strlist.dzCount}
Ajax请求的Js脚本:
function praise(recordNo, praiseCount) {
$.ajax({
url: '${ctx}/country/pointPraise',
type: 'POST',
data: {
'recordNo': recordNo
},
dataType: "JSON",
success: function(d) {
if (d.success) {
var strategyPraiseNo = parseInt(praiseCount) + 1;
$('#praiseNo' + recordNo).html(strategyPraiseNo)
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
bootbox.alert("无法连接服务器:" + textStatus);
}
});
}
Java代码:
Dao类接口层
/**
* @Title: updateDzCount
* @Description:点击赞后更改赞的数量
* @param mapNo
* @author CHENJH
* @date 2015年6月27日
*/
public void updateDzCount(HashMap mapNo);
Dao类实现层
@Override
public void updateDzCount(HashMap mapNo) {
this.update("updateDzCount", mapNo);
}
service类接口层
/**
* @Title: updateDzCount
* @Description:点击赞后更改赞的数量
* @param recordNo
* @author CHENJH
* @date 2015年6月25日
*/
public boolean updateDzCount(HashMap mapNo);
service类实现层
@Override
public boolean updateDzCount(HashMap mapNo) {
logger.info("***** BlogServiceImpl.updateDzCount() method begin*****");
boolean flag = true;
try {
blogDao.updateDzCount(mapNo);
} catch (Exception e) {
logger.error("------updateDzCount error:", e);
e.printStackTrace();
return false;
}
logger.info("***** BlogServiceImpl.updateDzCount() method end*****");
return flag;
}
Action类处理层代码
/**
* @Title: pointPraise
* @Description: 修改文章点赞
* @author CHENJH
* @date 2015年6月27日
*/
@SkipCheck
@Action("pointPraise")
public void pointPraise() {
String recordNo = getParam("recordNo");// 获取文章信息编号
HashMap mapNo = getSessionValue("recordNoMap");// 得到文章点赞集合
Boolean bool = false;
if (mapNo != null) {
if (mapNo.get(recordNo) == null) {// 判断集合中是否存在改编号点赞
mapNo.put(recordNo, recordNo);
bool = true;
}
} else {// 未进行点赞
mapNo = new HashMap();
mapNo.put(recordNo, recordNo);
setSessionAttr("recordNoMap", mapNo);
bool = true;
}
if (bool) {// 可以点赞
mapNo.put("recordNo", recordNo);
// 点赞更新值
bool = blogService.updateDzCount(mapNo);
}
outputJsons("success", bool);
}
MyBatis3映射文件SQL语句
update TAB_攻略表 set
点赞次数=((select 点赞次数 from TAB_攻略表 where 记录编号 = #{recordNo,jdbcType=VARCHAR})+1)
where 记录编号 = #{recordNo,jdbcType=VARCHAR}
注:项目采用Maven开发,
this.update("updateDzCount", mapNo);
上采用了封装的。
java ajax 点赞功能_Ajax+jQuery+bootstrap+Java实现异步点赞功能,并限制点击次数相关推荐
- java ajax实现分页代码,jQuery实现分页功能(含ajax请求、后台数据、附完整demo)...
需求分析 1)需要首页,末页功能 2)有点击查看上一页,下一页功能 3)页码到当前可视页码最后一页刷新页面 实现思路 也是分为三部分处理 1)点击首页,末页直接显示第一页或者最后一页内容,当前页面为第 ...
- java ajax轮询_ajax轮询(ajax轮询实现聊天)
最近一直在研究ajax长轮询连实现即时通信,但是到底是个怎么轮询法?难道. 一般最原始的作法就是在客户端搞个定时器一直向后台请求,而ajax的长轮询与一般的http连接不一样,它发送的是长连接,比如说 ...
- java ajax 更改头像_ajax+node实现头像更改
好久没有更新博客了,这几天在写文件上传的时候遇到了一个新的问题,就是关于ajax实现文件上传的问题 这几天在做一个小的demo,类似于论坛的一个东西,基于jquery+express+mongo的一个 ...
- java ajax 登陆验证_AJAX+JAVA用户登陆注册验证
需求 通过ajax异步刷新页面验证用户输入的账号密码是否在数据库中存在. 技术栈 JSP+Servlet+Oracle 具体代码 JSP部分: pageEncoding="UTF-8&quo ...
- java ajax轮询_ajax轮询
http://blog.csdn.net/qq_23412263/article/details/70260057 原理 普通的jquery ajax轮询的原理主要是,客户端通过定时器定时发送ajax ...
- java ajax 定时刷新_Ajax实现定时刷新页面
XML Schema命名空间解析 URI Web中汇集了各种资源.资源可以是具有标识的任何事物, 如文档. 文件. 菜单项. 计算机. 服务等, 甚至可以包括人. 组织和概念[BernersLee ...
- 如何解决ajax跨域java,ajax跨域问题,从java角度解决
前言 今天给小伙伴开放一个接口方便调试数据,但是老是出现CROS策略阻塞,查询资料后知道了是ajax跨域引起的,以此记录此次解决问题的过程. 什么是ajax跨域 ajax跨域的原理 ajax出现请求跨 ...
- ajax 实现关键字搜索,jQuery实现搜索页面关键字的功能
在一篇文章中查找关键字,找到后高亮显示. 具体代码: Search p { border:1px solid black;width:500px;padding:5px;} .highlight { ...
- html5点赞按钮特效,jquery仿直播app按钮点赞动画效果
特效描述:直播app按钮 按钮点赞动画 点赞动画效果.仿照直播软件制作的飘赞效果,jquery点赞动画效果. 代码结构 1. 引入JS 2. HTML代码 $(function () { $(&quo ...
最新文章
- 一次有意义的51CTO沙龙归来
- Spring Cloud【Finchley】-03将微服务注册到Eureka Server上 + 为Eureka Server添加用户认证
- windows10下安装opencv3.2+QT Creator+MingGW
- array sort - 4 : merge sort
- 第1篇:Flowable简介
- VM安装虚拟机及其破解密码
- thinkphp自动验证分析
- 在pycharm运行正常,在命令行窗口出现引包错误
- iOS 14.7 中的所有新功能
- c# log4net
- 没有人更比他懂基金业务:博格和他的先锋集团创业史(4):
- linux打开文件程序,linux – 获取打开特定文件的应用程序列表
- 江苏省计算机等级考试注意事项,江苏省淮安市2020上半年计算机等级考试注意事项...
- Google广告数据分析与优化总结
- 计算机函数sumif怎么用,怎么用sumif函数求和
- flink集成springboot案例_集成-Apache Flink+Spring Boot
- Windows中texstudio的主题代码(持续更新)
- mysql 查询重复字符串_如何在mysql中查询重复的字符串条目
- 乖 == 孝顺 ?
- 泛型一般有三种使用方式
热门文章
- Qt for Android调用Android接口将程序移到后台/前台运行
- 强化学习note2——value iteration和policy iteration的区别,MC和TD的区别
- 详解JVM内存结构(基于JDK8)
- aspx mysql类_aspx中的mysql操作类sqldatasource使用示例分享
- JQuery: 实现筛选功能
- 算法练习day7——190325(比较器、不基于比较的排序、maxGap、数组实现栈和队列、minStack)
- 算法练习day2——190319(大顶堆、冒泡、选择、插入)
- 通过TCP调试助手传输数据时的注意事项
- 启明云端分享| 继ESP32-S3点屏480*480分辨率的2.1寸屏后,目前在8ms平台又发布了480*480分辨率的4寸屏、480*272分辨率的4.3寸屏、800*480分辨率的4.3寸屏SDK
- ESP8266 如何修改默认上电校准方式?另外为什么 ESP8266 进⼊启动模式(2,7)并触发看⻔狗复位?