java ajax 点赞功能_Ajax+jQuery+bootstrap+Java实现异步点赞功能,并限制点击次数
在很多的網(wǎng)站上有很多不同的點贊,我不知道他們是怎么實現(xiàn)的,下面我來分享一下我寫的點贊實現(xiàn),共大家參考下,
這是我在一個項目抽取的代碼,可能有些樣式會發(fā)生變化,但是功能不會影響。
網(wǎng)頁代碼:
這個是根據(jù)數(shù)據(jù)庫中是否可以點贊來限制能不能點的,strlist是從java后臺返回的一個請求。在這里取出點贊數(shù)和文章點贊的編號做為參數(shù)到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("無法連接服務(wù)器:" + textStatus);
}
});
}
Java代碼:
Dao類接口層
/*** @Title: updateDzCount
* @Description:點擊贊后更改贊的數(shù)量
* @param mapNo
* @author CHENJH
* @date 2015年6月27日
*/
public void updateDzCount(HashMap mapNo);
Dao類實現(xiàn)層
@Override
public void updateDzCount(HashMap mapNo) {
this.update("updateDzCount", mapNo);
}
service類接口層
/**
* @Title: updateDzCount
* @Description:點擊贊后更改贊的數(shù)量
* @param recordNo
* @author CHENJH
* @date 2015年6月25日
*/
public boolean updateDzCount(HashMap mapNo);
service類實現(xiàn)層
@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
點贊次數(shù)=((select 點贊次數(shù) from TAB_攻略表 where 記錄編號 = #{recordNo,jdbcType=VARCHAR})+1)
where 記錄編號 = #{recordNo,jdbcType=VARCHAR}
注:項目采用Maven開發(fā),
this.update("updateDzCount", mapNo);
上采用了封裝的。
總結(jié)
以上是生活随笔為你收集整理的java ajax 点赞功能_Ajax+jQuery+bootstrap+Java实现异步点赞功能,并限制点击次数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: utf8 bom 去掉 java_utf
- 下一篇: java arraylist初始大小_J