知识:

一、首先页面需要加载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; } ?>

  

最新文章

  1. WP、Win10开发或者WPF开发时绘制自定义窗体~例如:一个手机
  2. 出现“System.Data.SqlClient.SqlError: 尚未备份数据库的日志尾部”错误的解决方案
  3. Python之路【第九篇】堡垒机基础&amp;数据库操作
  4. Hadoop.2.x_高级应用_二次排序及MapReduce端join
  5. Android之ImageView 旋转
  6. php xdebug xampp eclipse
  7. Azure PowerShell (一)如何安装和配置 Azure PowerShell
  8. dl dd dt与ul li
  9. vs2010编译curl为static库及测试
  10. jvm之内存分配与回收策略
  11. shell命令批量杀死MySQL连接进程
  12. PHP Session 常用的函数
  13. LeetCode-391. 完美矩形(使用C语言编译,详解)
  14. w10谷歌chrome关闭自动更新
  15. 【Python】【自动化测试】【pytest】【常用命令行选项】
  16. C++学习笔记41:进程调度
  17. 在Spring的Bean注入中,即使你私有化构造函数,默认他还是会去调用你的私有构造函数去实例化
  18. python return 返回多个值
  19. acm 比赛模板
  20. python os.path模块常用方法详解 ZZ

热门文章

  1. 基于Vue的SPA如何优化页面加载速度
  2. centos7部署harbor
  3. springboot整合mybatis笔记
  4. Centos下使用Docker部署asp.net core项目
  5. Percona-Tookit工具包之pt-sift
  6. (二)、Python 基础
  7. python基础回顾笔记
  8. Oracle_11g中解决被锁定的scott用户的方法
  9. PHP开发搭建环境二:开发工具PhpStorm安装、激活以及配置
  10. 学习Pytbon第十七篇,面向对象编程