基于jquery实现ajax无刷新评论


Posted in Javascript onAugust 19, 2020

jquery实现ajax无刷新评论需要用的技术:(本次试验用的是“jquery-1.4.2.js”版本的jquery)

$.post("一般处理程序路径",{以字典的形式传递参数},function(data,status){``````});
jquery中的基本选择器操作;

首先创建数据库“T_article”:

主键设置自增;

基于jquery实现ajax无刷新评论

然后创建一个强类型的DataSet。

接着创建一个“无刷新评论.aspx”页面:

页面代码如下:

<div>
  <h2>文章:</h2>
  <p>this a text!this a text!this a text!this a text!this a text!this a text!this a text!this a text!
  this a text!this a text!this a text!this a text!this a text!this a text!this a text!this a text!this a text!
  this a text!this a text!this a text!this a text!this a text!this a text!</p>
  <ul id="pinglunlist">
  </ul>
 </div>
 <textarea id="msg" style="margin-left:20px;" cols="40" rows="10"></textarea>
 <input id="btnpinglun" type="button"
  value="评论" />

然后创建两个一般处理程序WSXPL.ashx(用来插入数据的处理程序)和WSXPL1.ashx(用来获取所有评论数据的处理程序);

WSXPL.ashx中的代码如下:

public void ProcessRequest(HttpContext context)
  {
   context.Response.ContentType = "text/plain";
   string msg = context.Request["msg"];
   new T_articleTableAdapter().Insert(context.Request.UserHostAddress, msg, DateTime.Now); //创建一个强类型的实例,然后调用Insert()函数插入;
   context.Response.Write("ok");
  }

WSXPL1.ashx中的代码如下:

public void ProcessRequest(HttpContext context)
  {
   context.Response.ContentType = "text/plain";
   var datas = new T_articleTableAdapter().GetData(); //返回的是一个DataTable
   StringBuilder sb = new StringBuilder(); //创建StringBuilder更加方便的搜集数据
   foreach (var data in datas)  //用foreach方法遍历DataTable
   {//实现字符串的拼接;每行数据用$隔开,每行数据的每个元素用|隔开;有利于前台解析数据;
    sb.Append(data.ipaddress).Append("|").Append(data.msg).Append("|").Append(data.posttime).Append("$");
   }
   context.Response.Write(sb);
  }

做完这些步骤,操作数据库的部分就已经完成了。现在只要在前台把一般处理程序返回的数据解析一下并附加的相应的位置就可以了!

首先在前台引用“jquery-1.4.2.js”jquery库;然后开始编写js脚本;

$(function () {
   $.post("WSXPL1.ashx", function (data, status) { //通过WSXPL1.ashx获取所有的评论内容
    if (status == "success") {
     var result = data.split("$"); //按照$分割字符串
     for (var i = 0; i < result.length - 1; i++) {
      var msg = result[i];
      var line = msg.split("|");  //按照|分割字符串
      var pinglun = $("<li>用户ID:" + line[0] + "; 评论内容:" + line[1] + "; 评论时间:" + line[2] + "</li>");
      $("#pinglunlist").append(pinglun); //把得到的评论结果追加到ul元素上
     }
    }
    else {
     alert("ajax错误!");
    }
   })

   $("#btnpinglun").click(function () { //设置btn事件
    var msg = $("#msg").val();
    $.post("ashx/WSXPL.ashx", { "msg": msg }, function (data, status) {
     if (status == "success") {
      if (data == "ok") {
       $.post("WSXPL1.ashx", function (data, status) { //为了实现评论的时候评论内容会自动的添加到ul上
        if (status == "success") {
         var result = data.split("$");
         var msg = result[result.length - 2];  //获取最后一条评论
         var line = msg.split("|");
         var pinglun = $("<li>用户ID:" + line[0] + "; 评论内容:" + line[1] + "; 评论时间:" + line[2] + "</li>");
         $("#pinglunlist").append(pinglun);  //把最后一条评论追加到ul上
        }
        else {
         alert("ajax错误!");
        }
       })
       alert("评论成功!");
      }
      else {
       alert("评论失败!");
      }
     }
    })

   })
  })

做完这些直接运行就可以了!
以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
js宝典学习笔记(上)
Jan 10 Javascript
懒就要懒到底——鼠标自动点击(含时间判断)
Feb 20 Javascript
js不完美解决click和dblclick事件冲突问题
Jul 16 Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
Jan 22 Javascript
js 性能优化之快速响应的用户界面
Feb 15 Javascript
分享19个JavaScript 有用的简写写法
Jul 07 Javascript
详解基于 Nuxt 的 Vue.js 服务端渲染实践
Oct 24 Javascript
vue和webpack打包项目相对路径修改的方法
Jun 15 Javascript
Vue从TodoList中学父子组件通信
Feb 05 Javascript
解决Layui 表格自适应高度的问题
Nov 15 Javascript
详解关于Vue单元测试的几个坑
Apr 26 Javascript
js实现文章目录索引导航(table of content)
May 10 Javascript
JavaScript代码性能优化总结篇
May 15 #Javascript
window.onload绑定多个事件的两种解决方案
May 15 #Javascript
js仿淘宝和百度文库的评分功能
May 15 #Javascript
RequireJS使用注意细节
May 15 #Javascript
JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax
May 15 #Javascript
jQuery插件开发汇总
May 15 #Javascript
Javascript的无new构建实例详解
May 15 #Javascript
You might like
PHP中文件上传的一个问题
2010/09/04 PHP
在php中判断一个请求是ajax请求还是普通请求的方法
2011/06/28 PHP
php 阴历-农历-转换类代码
2012/01/16 PHP
[原创]php简单隔行变色功能实现代码
2016/07/09 PHP
Javascript代码混淆综合解决方案-Javascript在线混淆器
2006/12/18 Javascript
javascript网页关键字高亮代码
2008/07/30 Javascript
addEventListener和attachEvent二者绑定的执行函数中的this不相同
2012/12/09 Javascript
php析构函数的具体用法小结
2014/03/11 Javascript
基于javascript、ajax、memcache和PHP实现的简易在线聊天室
2015/02/03 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作
2015/11/30 Javascript
详解JavaScript按概率随机生成事件
2017/08/02 Javascript
Bootstrap 中data-[*] 属性的整理
2018/03/13 Javascript
使用Vue.js开发微信小程序开源框架mpvue解析
2018/03/20 Javascript
layui 选择列表,打勾,点击确定返回数据的例子
2019/09/02 Javascript
原生js实现购物车
2020/09/23 Javascript
jQuery实现回到顶部效果
2020/10/19 jQuery
[01:06:12]VP vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
pygame学习笔记(4):声音控制
2015/04/15 Python
python实用代码片段收集贴
2015/06/03 Python
Python压缩解压缩zip文件及破解zip文件密码的方法
2015/11/04 Python
基于Python的接口测试框架实例
2016/11/04 Python
python爬虫入门教程--优雅的HTTP库requests(二)
2017/05/25 Python
Python队列的定义与使用方法示例
2017/06/24 Python
Python实现查找字符串数组最长公共前缀示例
2019/03/27 Python
Python中的延迟绑定原理详解
2019/10/11 Python
Python基础之函数原理与应用实例详解
2020/01/03 Python
python 使用递归实现打印一个数字的每一位示例
2020/02/27 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
2020/06/22 Python
Python中的流程控制详解
2021/02/18 Python
为世界各地的女性设计和生产时尚服装:ROMWE
2016/09/17 全球购物
Java平台和其他软件平台有什么不同
2015/06/05 面试题
体育教师自我鉴定
2014/02/12 职场文书
高中毕业生的个人自我评价
2014/02/21 职场文书
房屋财产继承协议书范本
2014/11/03 职场文书
大学毕业论文致谢词
2015/05/14 职场文书
Windows10安装Apache2.4的方法步骤
2022/06/25 Servers