基于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 类型转换常见方法小结
May 31 Javascript
Jquery Ajax方法传值到action的方法
May 11 Javascript
AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
Jan 02 Javascript
jQuery实现可编辑的表格实例讲解(2)
Sep 17 Javascript
javascript实现加载xml文件的方法
Nov 24 Javascript
jQuery Tags Input Plugin(添加/删除标签插件)详解
Jun 20 Javascript
使用BootStrap实现用户登录界面UI
Aug 10 Javascript
JS中script标签defer和async属性的区别详解
Aug 12 Javascript
JavaScript字符集编码与解码详谈
Feb 02 Javascript
在vue中实现简单页面逆传值的方法
Nov 27 Javascript
微信小程序swiper使用网络图片不显示问题解决
Dec 13 Javascript
利用JavaScript模拟京东按键输入功能
Dec 01 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
安健A254立体声随身听的分析与打磨
2021/03/02 无线电
php 截取字符串并以零补齐str_pad() 函数
2011/05/07 PHP
PHP 利用Mail_MimeDecode类提取邮件信息示例
2014/01/26 PHP
PHP调用Linux命令权限不足问题解决方法
2015/02/07 PHP
PHP常用函数之根据生日计算年龄功能示例
2019/10/21 PHP
PHP如何使用cURL实现Get和Post请求
2020/07/11 PHP
Ext JS 4实现带week(星期)的日期选择控件(实战一)
2013/08/21 Javascript
JS创建自定义表格具体实现
2014/02/11 Javascript
鼠标拖拽移动子窗体的JS实现
2014/02/25 Javascript
jQuery插件slider实现拖动滑块选取价格范围
2015/04/30 Javascript
JavaScript原生对象常用方法总结(推荐)
2016/05/13 Javascript
jQuery实现订单提交页发送短信功能前端处理方法
2016/07/04 Javascript
解决vue-cli中stylus无法使用的问题方法
2017/06/19 Javascript
详解Angular中实现自定义组件的双向绑定的两种方法
2018/11/23 Javascript
vue基础之事件简写、事件对象、冒泡、默认行为、键盘事件实例分析
2019/03/11 Javascript
webpack4 配置 ssr 环境遇到“document is not defined”
2019/10/24 Javascript
JavaScript碰撞检测原理及其实现代码
2020/03/12 Javascript
JavaScript交换变量的常用方法小结【4种方法】
2020/05/07 Javascript
[00:37]DOTA2上海特级锦标赛 Secert 战队宣传片
2016/03/03 DOTA
Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计
2016/07/04 Python
python使用正则表达式替换匹配成功的组并输出替换的次数
2017/11/22 Python
Python异常的检测和处理方法
2018/10/26 Python
pandas.DataFrame删除/选取含有特定数值的行或列实例
2018/11/07 Python
Python3数字求和的实例
2019/02/19 Python
15行Python代码实现网易云热门歌单实例教程
2019/03/10 Python
Python字符串大小写转换拼接删除空白
2019/09/19 Python
Python函数参数分类原理详解
2020/05/28 Python
新西兰航空中国官网:Air New Zealand China
2018/07/24 全球购物
双立人加拿大官网:Zwilling加拿大
2020/08/10 全球购物
毕业生求职简历中的自我评价
2013/10/18 职场文书
诚信承诺书范文
2014/03/27 职场文书
股东授权委托书范本
2014/09/13 职场文书
市委常委班子党的群众路线教育实践活动整改措施
2014/10/02 职场文书
目标责任书格式范文
2015/05/11 职场文书
2015年度个人工作总结报告
2015/10/24 职场文书
CSS精灵图的原理与使用方法介绍
2022/03/17 HTML / CSS