基于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 相关文章推荐
javascript 当前日期加(天、周、月、年)
Aug 09 Javascript
nodeType属性返回被选节点的节点类型介绍
Nov 22 Javascript
jquery预览图片实现鼠标放上去显示实际大小
Jan 16 Javascript
JavaScript 获取任一float型小数点后两位的小数
Jun 30 Javascript
详解AngularJS ng-class样式切换
Jun 27 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
Jun 30 Javascript
JS实现的获取银行卡号归属地及银行卡类型操作示例
Jan 08 Javascript
JavaScript变量提升和严格模式实例分析
Jan 27 Javascript
layui自己添加图片按钮并点击跳转页面的例子
Sep 14 Javascript
Element MessageBox弹框的具体使用
Jul 27 Javascript
原生js实现拖拽移动与缩放效果
Aug 24 Javascript
jquery插件实现轮播图效果
Oct 19 jQuery
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注销代码(session注销)
2012/05/31 PHP
Destoon实现多表查询示例
2014/08/21 PHP
ThinkPHP打水印及设置水印位置的方法
2016/10/14 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
2017/02/08 PHP
静态的动态续篇之来点XML
2006/12/23 Javascript
实现png图片和png背景透明(支持多浏览器)的方法
2009/09/08 Javascript
JQuery 文本框使用小结
2010/05/22 Javascript
js根据日期判断星座的示例代码
2014/01/23 Javascript
jquery代码实现简单的随机图片瀑布流效果
2015/04/20 Javascript
JS实现黑色风格的网页TAB选项卡效果代码
2015/10/09 Javascript
JS限制条件补全问题实例分析
2016/12/16 Javascript
js实现定时进度条完成后切换图片
2017/01/04 Javascript
Vue 单文件中的数据传递示例
2017/03/21 Javascript
vue使用stompjs实现mqtt消息推送通知
2017/06/22 Javascript
vue.js数据绑定的方法(单向、双向和一次性绑定)
2017/07/13 Javascript
vue实现点击图片放大效果
2017/08/15 Javascript
解读vue生成的文件目录结构及说明
2017/11/27 Javascript
Vue.js进阶知识点总结
2018/04/01 Javascript
vue动态设置img的src路径实例
2018/09/18 Javascript
图文讲解vue的v-if使用方法
2019/02/11 Javascript
Vue中使用better-scroll实现轮播图组件
2020/03/07 Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
2020/08/04 Javascript
对web.py设置favicon.ico的方法详解
2018/12/04 Python
在python image 中安装中文字体的实现方法
2019/08/22 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
2019/10/18 Python
python statsmodel的使用
2020/12/21 Python
HTML5中判断用户是否正在浏览页面的方法
2014/05/03 HTML / CSS
武汉东之林科技有限公司机试
2013/09/17 面试题
应届生体育教师自荐信
2013/10/03 职场文书
大学生活自我评价
2014/04/09 职场文书
重大事项社会稳定风险评估方案
2014/06/15 职场文书
开服装店计划书
2014/08/15 职场文书
安全施工责任书
2014/08/25 职场文书
中学生2014国庆节演讲稿:不屈的民族
2014/09/21 职场文书
先进工作者主要事迹材料
2015/11/03 职场文书
Python利用capstone实现反汇编
2022/04/06 Python