index.html

 <script src="jquery.min.js"></script>
<script>
$(function(){
$.ajax({ //页面载入时载入评论信息
type:"GET",
url:"10-17.php?act=load&id="+Math.random(),
error:function(){$("#comments").html("获取评论信息失败");},
success:function(data){
$("#comments").html(data); }
});
$("#Submit").click(function(){
title=$("#title").val(); author=$("#author").val(); //获取表单中的数据
email=$("#email").val(); content=$("#content").val(); $.post("10-17.php",{ //发送表单中的数据给addnew.asp
title:escape(title), author:escape(author),
email:escape(email), content:escape(content),
act:"add"
},
function(data){
   alert(data);
if(data==){
$("#title").val(''); $("#author").val(''); //清空添加记录框中的内容
$("#email").val(''); $("#content").val(''); var newcom="<div style='border:1px solid #CCC;margin:5px;'>网友:"+author+" 发表于"+Date()+"<br/>标题:"+title+"<br/>"+content+" Email:"+email+"</div>";
$("#comments").prepend(newcom); //插入到元素内部的最前面 }
} );
} );
} );
</script> </head> <body>
<h3 style="margin:4px; text-align:center">网友评论</h3>
<div id="comments"><!--用来载入评论的内容,未加载完时显示加载中图标-->
<div style="border:1px solid #CCC;margin:5px 5px;"><img src="onLoad.gif" alt="加载中..." /> 评论加载中......</div> </div> <form style="margin:8px;">
<table width="" border="" align="center" cellpadding="" cellspacing="" bgcolor="#333333">
<caption>请在下面发表你的高见吧</caption>
<tbody bgcolor="#ffffff">
<tr>
<td>昵称:</td>
<td><input type="text" id="author"></td>
</tr>
<tr>
<td>邮箱:</td>
<td><input type="text" id="email"></td>
</tr>
<tr>
<td width="">标题:</td>
<td width=""><input type="text" id="title"></td>
</tr> <tr>
<td>内容:</td>
<td><textarea id="content" cols="" rows=""></textarea></td>
</tr>
<tr>
<td></td>
<td><input type="button" id="Submit" value="发表评论"></td>
</tr>
</tbody>
</table>
</form>

10-17.php

<?
header("Content-type: text/html; charset=gb2312"); require('conn.php');
$act=$_REQUEST["act"]; //获取act变量的值
//$act="load";
if($act=="load") { //如果是请求载入评论
$result=$conn->query("select * from lyb order by ID desc limit 3"); if($result->num_rows>) {
while($row=$result->fetch_assoc()){
?>
<div style="border:1px solid #CCC;margin:5px;">
网友:<?= $row["author"] ?> 发表于<?= $row["date"] ?><br/>
标题:<?= $row["title"] ?><br/>
<?= $row["content"] ?> Email:<?= $row["email"] ?>
</div>
<? }
}
else echo "<p>目前还没有用户留言</p>";
}
if($act=="add") {
//'如果是发表评论
$title = unescape($_POST["title"]); //获取10-16.php传来的数据
$author = unescape($_POST["author"]);
$email = unescape($_POST["email"]);
$content = unescape($_POST["content"]);
$date=date("Y-m-d h:i:s");
$sql="Insert into lyb(title,author,email,content,date) values('$title','$author','$email', '$content','$date')"; if($conn->query($sql)) echo ;
} ?>

(1)该评论系统中的新闻是在页面载入之后采用Ajax技术载入进来的,因此HTML代码中可以没有任何用来读取数据表lyb中的评论数据的php代码。

(2)载入评论的容器元素#comments中本来就含有一个“正在加载”的图像和文字,当载入完成之后,这些内容会被评论信息替换掉。达到不用$.ajax()方法的beforeSend()函数也能实现显示“正在加载”图标的效果。

(3)该评论系统也采用了在服务器端和客户端分别插入记录的方法,服务器端插入记录成功后,发送标志1给客户端,客户端采用prepend()方法动态插入div元素。

Ajax制作无刷新评论系统的更多相关文章

  1. ajax无刷新评论示例

    下面就为大家带来一篇 ajax无刷新评论示例.学习还是有点帮助的,给大家做个参考吧. 这是留言板的界面,当用户点击提交留言的时候,自动提交到我的留言下面 留言内容中为空,或者为灰色的“没有填写留言内容 ...

  2. Ajax 实现无刷新页面

    注意:如本文所用,在前面的文章库的数目可以在源代码中找到,我将指示在文本,其中链路,为了缩短制品的长度,阅读由此带来的不便.乞求被原谅. 评论文章 Ajax 实现无刷新页面.其原理.代码库.代码. 这 ...

  3. 使用ajax实现无刷新改变页面内容

    如何使用ajax实现无刷新改变页面内容(也就是ajax异步请求刷新页面),下面通过一个小demo说明一下,前端页面代码如下所示 1 <%@ Page Language="C#" ...

  4. jsp+ajax实现无刷新

    jsp+ajax实现无刷新,鼠标离开文本框即验证用户名 jsp+ajax实现无刷新,鼠标离开文本框即验证用户名(本功能多用于注册) input.jsp(表单提交页面): %@ page content ...

  5. window.history.pushState与ajax实现无刷新更新页面url

    ajax能无刷新更新数据,但是不能更新url HTML5的新API: window.history.pushState, window.history.replaceState 用户操作history ...

  6. Ajax 实现无刷新分页

    Ajax 实现无刷新分页

  7. PHP+Ajax+plupload无刷新上传头像代码

    很简单的一款PHP+Ajax+plupload无刷新上传头像代码,兼容性很好,可以直接拿来用.你可以自定义各种类型的文件.本实例中只能上传"jpg", "png" ...

  8. jQuery+php+ajax实现无刷新上传文件功能

    jQuery+php+ajax实现无刷新上传文件功能,还带有上传进度条动画效果,支持图片.视频等大文件上传. js代码 <script type='text/javascript' src='j ...

  9. JS---案例:无刷新评论---属于创建对象的案例拿出来复习

    案例:无刷新评论---属于创建对象的案例拿出来复习 创建行和单元格,添加到相应元素中,设置内容 createElement, appendChild,innerHTML <!DOCTYPE ht ...

随机推荐

  1. 005 列表以及append,extend方法

    定义一个列表: number=[,'changhao','常浩',5.2] 往这个列表里面添加单一新值(类型无限制),需要使用append方法. 例如: number.append() number. ...

  2. spring 配置和实例

    Spring 是一个开源框架.Spring 为简化企业级应用开发而生. 使用 Spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能.Spring 是一个 IOC(DI) ...

  3. (原+转)Eclipse中Android调用OpenCv

    大部分都是参考下面的网址,如果感觉看起来不舒服,可以直接查看原网址.最后遇到了一点问题: Description      Resource Path Location   Type E:/~\cod ...

  4. php中数字和字母生成随机字符串

    function strrand($len) { $arr = array( "0", "1", "2", "3", & ...

  5. MySql5压缩包安装

    一. 解压所有文件到一个目录:例如D:\Program Files\mysql-5.6.22-winx64 二. 配置系统的环境变量:在Path路径后追加:;D:\Program Files\mysq ...

  6. oracle中闪回错误的dml操作原理

    原理: Oracle根据还原表空间信息,利用还原表空间中的数据,类似一致性读取方法,可以把表置于一个删除前的时间点(或SCN),从而将数据找回. 删除删除错误的dml操作的oracle的前提准备: 一 ...

  7. Chapter 02:复合 VS 继承

    复合优先于继承,继承是实现代码重用的有力手段,并不是所有情况都适用,使用不当会导致软件变得很脆弱.与方法调用不同的是,继承打破了封装性. 总而言之,组合和继承,都能实现对类的扩展.但是要分具体情况用哪 ...

  8. Java 中级IO流基础及主要API编程

    1. IO流基础知识,流 是字节从源到目的地的运行的轨迹,次序是有意义的, 字节会按照次序进行传递, 比如Hello World 在下图中的传递的轨迹.该图形象的解释了IO中流的概念.流中全是字节.2 ...

  9. 在Azure Cloud Service中部署Java Web App(1)

    Microsoft Azure是一个开放的,灵活的云平台,除了对自家的.Net平台有良好的支持外,对于各种开源的软件,语言,工具,框架都有着良好的支持,比如Java,Php,Python等等,你可以使 ...

  10. android widget->progressbar

    其中的indeterminteDrawable属性就是用来设置进度条颜色等属性的