基于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 web对话框与弹出窗口
Feb 22 Javascript
JavaScript中的property和attribute介绍
Dec 26 Javascript
谈谈JavaScript中的函数与闭包
Apr 14 Javascript
JavaScript通过RegExp实现客户端验证处理程序
May 07 Javascript
js加入收藏夹代码(兼容ie/ff/op)
May 16 Javascript
js/jquery判断浏览器的方法小结
Sep 02 Javascript
JavaScript基础重点(必看)
Jul 09 Javascript
Angularjs在初始化未完毕时出现闪烁问题的解决方法分析
Aug 05 Javascript
基于layer.js实现收货地址弹框选择然后返回相应的地址信息
May 26 Javascript
解决vue移动端适配问题
Dec 12 Javascript
Vue 使用formData方式向后台发送数据的实现
Apr 14 Javascript
jQuery 淡入/淡出效果函数用法分析
May 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
windows下配置apache+php+mysql时出现问题的处理方法
2014/06/20 PHP
php实现检查文章是否被百度收录
2015/01/27 PHP
JS的IE和Firefox兼容性集锦
2006/12/11 Javascript
javascript 动态参数判空操作
2008/12/22 Javascript
JavaScript 读取元素的CSS信息的代码
2010/02/07 Javascript
js中判断控件是否存在
2010/08/25 Javascript
在多个页面使用同一个HTML片段《续》
2011/03/04 Javascript
jQuery参数列表集合
2011/04/06 Javascript
Extjs4 Treegrid 使用心得分享(经验篇)
2013/07/01 Javascript
js导航栏单击事件背景变换示例代码
2014/01/13 Javascript
JS实现方向键切换输入框焦点的方法
2015/08/19 Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
2016/06/13 Javascript
Node.js利用Net模块实现多人命令行聊天室的方法
2016/12/23 Javascript
jQuery代码实现实时获取时间
2017/01/29 Javascript
移动端利用H5实现压缩图片上传功能
2017/03/29 Javascript
使用JavaScript开发跨平台的桌面应用详解
2017/07/27 Javascript
vue用addRoutes实现动态路由的示例
2017/09/15 Javascript
JS实现元素上下左右移动效果
2017/10/18 Javascript
vue.js整合vux中的上拉加载下拉刷新实例教程
2018/01/09 Javascript
解决angular2在双向数据绑定时[(ngModel)]无法使用的问题
2018/09/13 Javascript
JS实现百度搜索框关键字推荐
2020/02/17 Javascript
JS+CSS实现动态时钟
2021/02/19 Javascript
Python采用Django制作简易的知乎日报API
2016/08/03 Python
Django密码存储策略分析
2020/01/09 Python
PyCharm取消波浪线、下划线和中划线的实现
2020/03/03 Python
python 基于pygame实现俄罗斯方块
2021/03/02 Python
欧洲最大的品牌水上运动服装和设备在线零售商:Wuituit Outlet
2018/05/05 全球购物
2014年应届大学生毕业自我鉴定
2014/01/31 职场文书
初中高效课堂实施方案
2014/02/26 职场文书
十八大演讲稿
2014/05/22 职场文书
买房子个人收入证明
2014/10/12 职场文书
第二批党的群众路线教育实践活动总结报告
2014/10/30 职场文书
2014年仓库保管员工作总结
2014/12/03 职场文书
城管年度个人总结
2015/02/28 职场文书
今日说法观后感
2015/06/08 职场文书
安全教育主题班会教案
2015/08/12 职场文书