基于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 相关文章推荐
JsEasy简介 JsEasy是什么?与下载
Mar 07 Javascript
使用js检测浏览器的实现代码
May 14 Javascript
js单例模式的两种方案
Oct 22 Javascript
jQuery产品间断向下滚动效果核心代码
May 08 Javascript
javascript对中文按照拼音排序代码
Aug 20 Javascript
实例分析javascript中的call()和apply()方法
Nov 28 Javascript
jQuery点缩略图弹出层显示大图片
Feb 13 Javascript
JS时间特效最常用的三款
Aug 19 Javascript
JavaScript中的各种操作符使用总结
May 26 Javascript
jQuery.ajax 跨域请求webapi设置headers的解决方案
Aug 08 Javascript
Angularjs中使用layDate日期控件示例
Jan 11 Javascript
Vue自定义过滤器格式化数字三位加一逗号实现代码
Mar 23 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
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
2012/10/24 PHP
JQuery UI DatePicker中z-index默认为1的解决办法
2010/09/28 Javascript
jquery实现漂浮在网页右侧的qq在线客服插件示例
2013/05/13 Javascript
javascript贪吃蛇完整版(源码)
2013/12/09 Javascript
基于jQuery实现文本框缩放以及上下移动功能
2014/11/24 Javascript
jQuery中:focus选择器用法实例
2014/12/30 Javascript
jQuery的几个我们必须了解的特点
2015/05/03 Javascript
jquery自定义右键菜单、全选、不连续选择
2016/03/01 Javascript
AngularJs  Using $location详解及示例代码
2016/09/02 Javascript
原生JS实现匀速图片轮播动画
2016/10/18 Javascript
Vue指令的钩子函数使用方法
2017/03/20 Javascript
node.js连接MongoDB数据库的2种方法教程
2017/05/17 Javascript
JavaScript获取用户所在城市及地理位置
2018/04/21 Javascript
JS实现电脑虚拟键盘的操作
2020/06/24 Javascript
python访问纯真IP数据库的代码
2011/05/19 Python
详解python 拆包可迭代数据如tuple, list
2017/12/29 Python
python如何修改装饰器中参数
2018/03/20 Python
django加载本地html的方法
2018/05/27 Python
python+splinter自动刷新抢票功能
2018/09/25 Python
通过python将大量文件按修改时间分类的方法
2018/10/17 Python
Django实现单用户登录的方法示例
2019/03/28 Python
python构造函数init实例方法解析
2020/01/19 Python
Python集合操作方法详解
2020/02/09 Python
美国狗旅行和户外用品领先供应商:kurgo
2020/08/18 全球购物
一套Delphi的笔试题一
2016/02/14 面试题
简单的项目建议书模板
2014/03/12 职场文书
英文自荐信常用句子
2014/03/26 职场文书
社会治安综合治理管理责任书
2014/04/16 职场文书
授权收款委托书
2014/09/23 职场文书
房屋所有权证明
2014/10/20 职场文书
乡镇群众路线专项整治方案
2014/11/03 职场文书
党员志愿者服务倡议书
2015/04/29 职场文书
三八节活动主持词
2015/07/04 职场文书
vue点击弹窗自动触发点击事件的解决办法(模拟场景)
2021/05/25 Vue.js
动画「进击的巨人」第86话播出感谢绘公开
2022/03/21 日漫
Redis安装使用RedisJSON模块的方法
2022/03/23 Redis