基于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使用正则实现ReplaceAll全部替换的方法
Aug 22 Javascript
Node.js 学习笔记之简介、安装及配置
Mar 03 Javascript
Vue.js每天必学之过渡与动画
Sep 06 Javascript
ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)
Sep 06 Javascript
微信小程序 教程之数据绑定
Oct 18 Javascript
vue2.0实战之基础入门(1)
Mar 27 Javascript
javascript实现循环广告条效果
Dec 12 Javascript
vue-router的HTML5 History 模式设置
Sep 08 Javascript
vue通过cookie获取用户登录信息的思路详解
Oct 30 Javascript
vue 中的 render 函数作用详解
Feb 28 Javascript
jquery实现拖拽添加元素功能
Dec 01 jQuery
JavaScript原始值与包装对象的详细介绍
May 11 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-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
2013/07/03 PHP
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
2015/10/22 PHP
javascript语句中的CDATA标签的意义
2007/05/09 Javascript
js实现的仿新浪微博完美的时间组件升级版
2011/12/20 Javascript
jQuery中on()方法用法实例
2015/01/19 Javascript
JavaScript简介
2015/02/15 Javascript
jquery滚动加载数据的方法
2015/03/09 Javascript
js中substring和substr两者区别和使用方法
2015/11/09 Javascript
jQuery实现页面点击后退弹出提示框的方法
2016/08/24 Javascript
Vue 实现前进刷新后退不刷新的效果
2019/06/14 Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
2019/08/26 Javascript
vue路由守卫及路由守卫无限循环问题详析
2019/09/05 Javascript
深入了解JS之作用域和闭包
2020/06/16 Javascript
[15:07]lgd_OG_m2_BP
2019/09/10 DOTA
python使用PythonMagick将jpg图片转换成ico图片的方法
2015/03/26 Python
Python入门_学会创建并调用函数的方法
2017/05/16 Python
python traceback捕获并打印异常的方法
2018/08/31 Python
python绘制中国大陆人口热力图
2018/11/07 Python
Python 装饰器@,对函数进行功能扩展操作示例【开闭原则】
2019/10/17 Python
python计算Content-MD5并获取文件的Content-MD5值方式
2020/04/03 Python
python利用appium实现手机APP自动化的示例
2021/01/26 Python
美国最便宜的旅游网站:CheapTickets
2017/07/09 全球购物
英国玛莎百货美国官网:Marks & Spencer美国
2018/11/06 全球购物
GAZMAN官网:澳大利亚领先的男装品牌
2019/12/19 全球购物
开水果连锁店创业计划书
2013/12/29 职场文书
电子工程专业毕业生求职信
2014/03/14 职场文书
签约仪式主持词
2014/03/19 职场文书
亲属关系公证书
2014/04/08 职场文书
团委书记的竞聘演讲稿
2014/04/24 职场文书
小学运动会班级口号
2014/06/09 职场文书
开展党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
汇报材料怎么写
2014/12/30 职场文书
2015年采购工作总结
2015/04/10 职场文书
2019年中学生的思想品德评语集锦
2019/12/19 职场文书
Win11局域网共享权限在哪里设置? Win11高级共享的设置技巧
2022/04/05 数码科技
 分享一个Python 遇到数据库超好用的模块
2022/04/06 Python