基于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 相关文章推荐
在 IE 中调用 javascript 打开 Excel 表
Dec 21 Javascript
JavaScript获取多个数组的交集简单实例
Nov 11 Javascript
Asp.Net alert弹出提示信息的几种方法总结
Jan 29 Javascript
Jquery设置attr的disabled属性控制某行显示或者隐藏
Sep 25 Javascript
javascript设置和获取cookie的方法实例详解
Jan 05 Javascript
Js实现简单的小球运动特效
Feb 18 Javascript
微信小程序 使用picker封装省市区三级联动实例代码
Oct 28 Javascript
关于echarts在节点显示动态数据及添加提示文本所遇到的问题
Apr 20 Javascript
JS数组中对象去重操作示例
Jun 04 Javascript
layUI实现前端分页和后端分页
Jul 27 Javascript
Vue + iView实现Excel上传功能的完整代码
Jun 22 Vue.js
vue2的 router在使用过程中遇到的一些问题
Apr 13 Vue.js
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
全国FM电台频率大全 - 7 吉林省
2020/03/11 无线电
PHP批量采集下载美女图片的实现代码
2013/06/03 PHP
ThinkPHP函数详解之M方法和R方法
2015/09/10 PHP
PHP文件类型检查及fileinfo模块安装使用详解
2019/05/09 PHP
javascript限制文本框只允许输入数字(曾经与现在的方法对比)
2013/01/18 Javascript
jquery显示和隐藏div特效实例
2013/02/27 Javascript
使用JavaScript修改浏览器URL地址栏的实现代码
2013/10/21 Javascript
js实现特定位取反原理及示例
2014/06/30 Javascript
jQuery 判断图片是否加载完成方法汇总
2015/08/10 Javascript
JavaScript模拟数组合并concat
2016/03/06 Javascript
Javascript 闭包详解及实例代码
2016/11/30 Javascript
简单实现jquery隔行变色
2017/11/09 jQuery
jQuery实现每隔一段时间自动更换样式的方法分析
2018/05/03 jQuery
vue.js实现备忘录demo
2019/06/26 Javascript
微信小程序实现上传图片裁剪图片过程解析
2019/08/22 Javascript
浅谈layui 数据表格前后台传值的问题
2019/09/12 Javascript
element-ui 本地化使用教程详解
2019/10/28 Javascript
[00:52]DOTA2国际邀请赛
2020/02/21 DOTA
下载安装setuptool和pip linux安装pip    
2014/01/24 Python
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
2018/04/26 Python
浅谈Tensorflow由于版本问题出现的几种错误及解决方法
2018/06/13 Python
对Python中画图时候的线类型详解
2019/07/07 Python
解决Python中pandas读取*.csv文件出现编码问题
2019/07/12 Python
Python assert语句的简单使用示例
2019/07/28 Python
HTML5中的Article和Section元素认识及使用
2013/03/22 HTML / CSS
美国批发零售网站:GearXS
2016/07/26 全球购物
女士时装鞋:Chinese Laundry
2018/08/29 全球购物
英语专业个人求职自荐信
2013/09/21 职场文书
师德学习感言
2014/01/31 职场文书
作文批改评语大全
2014/04/23 职场文书
2015年民主评议党员工作总结
2015/05/19 职场文书
化验室安全管理制度
2015/08/06 职场文书
如何书写读后感?(附范文)
2019/07/26 职场文书
Pytest allure 命令行参数的使用
2021/04/18 Python
python-for x in range的用法(注意要点、细节)
2021/05/10 Python
win10忘记pin密码登录不了怎么办?win10忘记pin密码登不进去的解决方法
2022/07/07 数码科技