php + ajax实现 帖子点赞功能
2024-10-22 02:52:35
知识:
一、首先页面需要加载jquery框架
二、ajax常用参数解释:
①、type:传输数据方式,get或者post
②、url:处理数据的PHP脚本
③、data:传输的数据索引及值,值用js获取,一般此属性为json串或字符串
④、async:参数为布尔类型,默认为true,即异步传输,浏览器不锁定
⑤、complete:参数为方法,跳转的脚本执行完成后的回调函数
⑥、success:参数为方法,跳转的脚本执行成功后的回调函数
⑦、error:参数为方法,跳转的脚本执行失败后的回调函数
三、脚本处理完成后将页面需要的数据return,之后在前端页面根据需求实现局部刷新,而不是进行跳转刷新,这是ajax最强大的地方
html代码部分:
<?php
$id = $_GET['id'];
require_once 'mysqlHelper.php';
$db = new mysqlHelper('localhost','root','root','dianzan');
$sql = "select * from news where id = '$id'";
$news = $db->GetOneData($sql); ?>
<!doctype html>
<html>
<head>
<script src="jquery-1.9.1.min.js"></script>
<meta charset="UTF-8">
</head>
<body>
<h1><?php echo $news['title'];?></h1>
<pre>
<?php echo $news['content'];?> </pre>
<input type="hidden" name="id" value="<?php echo $id;?>">
点赞数:<span id="s"><?php echo $news['dianzan'];?></span>
<button id="btn">点赞</button>
</body>
</html>
js代码:
$("#btn").click(function(){ $.ajax({ url:"index.php",
type:"POST",
data:{id:<?php echo $id;?>},
async:false,
success:function(data){
if(data === false){
alert('点赞失败!');location.href='dianzan.php?id=<?php echo $id;?>';
}else{
alert('点赞成功!');$("#s").html(data);
}
}
})
})
PHP代码部分:
<?php
header("Content-type:text/html;charset=utf-8");
require_once 'mysqlHelper.php';
$db = new mysqlHelper('localhost','root','root','dianzan');
$id = $_POST['id'];
$sql = "UPDATE news SET dianzan = dianzan +1 WHERE id = '$id'"; $res = $db->execSql($sql);
if($res){ $dz = $db->getOneData("select * from news where id = '$id'");
$dz = $dz['dianzan'];
echo $dz; }else{
return false; } ?>
最新文章
- WP、Win10开发或者WPF开发时绘制自定义窗体~例如:一个手机
- 出现“System.Data.SqlClient.SqlError: 尚未备份数据库的日志尾部”错误的解决方案
- Python之路【第九篇】堡垒机基础&;数据库操作
- Hadoop.2.x_高级应用_二次排序及MapReduce端join
- Android之ImageView 旋转
- php xdebug xampp eclipse
- Azure PowerShell (一)如何安装和配置 Azure PowerShell
- dl dd dt与ul li
- vs2010编译curl为static库及测试
- jvm之内存分配与回收策略
- shell命令批量杀死MySQL连接进程
- PHP Session 常用的函数
- LeetCode-391. 完美矩形(使用C语言编译,详解)
- w10谷歌chrome关闭自动更新
- 【Python】【自动化测试】【pytest】【常用命令行选项】
- C++学习笔记41:进程调度
- 在Spring的Bean注入中,即使你私有化构造函数,默认他还是会去调用你的私有构造函数去实例化
- python return 返回多个值
- acm 比赛模板
- python os.path模块常用方法详解 ZZ