JQuery的Ajax请求实现局部刷新的简单实例


Posted in Javascript onFebruary 11, 2014

请求的ajax路径传递的参数(data)会到action中被一个同样名字的变量(附带set get方法)接收,返回的data是一个JQuery的数组对象,在被调用的action中涉及到的数据变量会对象,都会封装到data中最终返回给页面。

案例:如图
JQuery的Ajax请求实现局部刷新的简单实例
JQuery的Ajax请求实现局部刷新的简单实例

我要实现状态的更改,用JQuery的Ajax更改完之后图标发生改变,实现页面的局部刷新

原理:局部刷新是刷新页面的一部分,在此案例中实现的只是图标的改变,把后台代码和前台现实的图标分离,并不是对数据库重新做查询,二是后台数显数据修改之后,前台直接改变图标。

1.页面 给每条记录的图标一个唯一的id值:

<td align="center">
    <s:if test="messageState == 0">
<img src="${ctx}/images/04.png" id="r${message.messageID}"/>
    </s:if>
<s:else>
        <img src="${ctx}/images/03.png" id="r${message.messageID}"/>
    </s:else>
</td>

Ajax验证:给A标签添加的id= aUnread,再添加事件
jQuery("#aUnread").click(function(){
       var strIds="";//定义一个传递数据的变量
       $("input[name='checkbox']").each(function (){
        if(this.checked){
            strIds +=this.value+",";//得到的是多个id值,拼成字符串传到action
       }
    });
     $.ajax({
              type: "post",
              dataType:'json', //接受数据格式 
              cache:false,
              data:"strIds="+strIds,
              url: "${ctx}/feedbackonline/updateMessageStateUnread.action",
              beforeSend: function(XMLHttpRequest){
              },
              success: function(data){
                  var str=data.str;//接收返回的数据
                  for(var p in str){ //遍历接受的数组对象
                    var x="#r"+str[p];//获取要改变的记录的图标id
                    $(x).attr("src","${ctx}/images/04.png");
//把对应的id值的图标src属性值变成相应图标的路径
                  }
               },
              error: function(){
              //请求出错处理
                  alert("Error!");
              }
       });
    });

2.后台action:
private String strIds;//省略set get 方法,自动获取到页面传的响应的数据
private String[] str;//省略set get 方法
@Action("/updateMessageStateUnread")
    public String updateMessageState() throws Exception{
       String[] jStr = strIds.split(",");//把字符串拆分成字符串数组
       str=jStr;//把拆分的字符串数组赋给有get set方法的数组变量str返回到页面上
       for(int i=0;i<jStr.length;i++){
           int id=Integer.parseInt(jStr[i]);
           messageUserinfo=messageUserinfoManager.queryById(id);
           messageUserinfo.setMessageState(0);
           messageUserinfoManager.update(messageUserinfo);         
       }   
       return "ajax";
    }
Javascript 相关文章推荐
JS 获取浏览器和屏幕宽高等信息的实现思路及代码
Jul 31 Javascript
javascript屏蔽右键代码
May 15 Javascript
教你如何使用firebug调试功能了解javascript闭包和this
Mar 04 Javascript
Grunt入门教程(自动任务运行器)
Aug 06 Javascript
基于JavaScript实现表单密码的隐藏和显示出来
Mar 02 Javascript
Bootstrap图片轮播组件Carousel使用方法详解
Oct 20 Javascript
js实现截图保存图片功能的代码示例
Feb 16 Javascript
vue.js利用defineProperty实现数据的双向绑定
Apr 28 Javascript
基于vue.js快速搭建图书管理平台
Oct 29 Javascript
深入理解Vue Computed计算属性原理
May 29 Javascript
Node.js 路由的实现方法
Jun 05 Javascript
vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信
Aug 15 Javascript
javascript页面加载完执行事件代码
Feb 11 #Javascript
JS图像无缝滚动脚本非常好用
Feb 10 #Javascript
ExtJS判断IE浏览器类型的方法
Feb 10 #Javascript
利用js读取动态网站从服务器端返回的数据
Feb 10 #Javascript
解决jquery操作checkbox火狐下第二次无法勾选问题
Feb 10 #Javascript
js判断undefined类型示例代码
Feb 10 #Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
Feb 10 #Javascript
You might like
ajax 的post方法实例(带循环)
2011/07/04 PHP
浅析Mysql 数据回滚错误的解决方法
2013/08/05 PHP
使用PHP Socket写的POP3类
2013/10/30 PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
2016/01/05 PHP
详解Laravel服务容器的绑定与解析
2019/11/05 PHP
php设计模式之适配器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
asp 的 分词实现代码
2007/05/24 Javascript
asp.net和asp下ACCESS的参数化查询
2008/06/11 Javascript
javascript concat数组累加 示例
2009/09/03 Javascript
Extjs学习笔记之五 一个小细节renderTo和applyTo的区别
2010/01/07 Javascript
js鼠标滑轮滚动事件绑定的简单实例(兼容主流浏览器)
2014/01/14 Javascript
jQuery中animate用法实例分析
2015/03/09 Javascript
js实现的倒计时按钮实例
2015/06/24 Javascript
javascript作用域问题实例分析
2015/07/13 Javascript
json的使用小结
2016/06/08 Javascript
jquery 动态合并单元格的实现方法
2016/08/26 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
2016/09/13 Javascript
javascript 中null和undefined区分和比较
2017/04/19 Javascript
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
2017/09/06 Javascript
使用Vue-cli 3.0搭建Vue项目的方法
2018/06/07 Javascript
vue.js实现格式化时间并每秒更新显示功能示例
2018/07/07 Javascript
js实现通过开始结束控制的计时器
2019/02/25 Javascript
CentOS 8.2服务器上安装最新版Node.js的方法
2020/12/16 Javascript
python中global用法实例分析
2015/04/30 Python
python结合API实现即时天气信息
2016/01/19 Python
python的变量与赋值详细分析
2017/11/08 Python
python+opencv实现的简单人脸识别代码示例
2017/11/14 Python
tensorflow训练中出现nan问题的解决
2018/02/10 Python
Python统计学一数据的概括性度量详解
2020/03/03 Python
Python是什么 Python的用处
2020/05/26 Python
pycharm 实现本地写代码,服务器运行的操作
2020/06/08 Python
python 实现&quot;神经衰弱&quot;翻牌游戏
2020/11/09 Python
pandas将list数据拆分成行或列的实现
2020/12/13 Python
python中Array和DataFrame相互转换的实例讲解
2021/02/03 Python
欧洲最大的高尔夫零售商:American Golf
2019/09/02 全球购物
2016年大学生党员公开承诺书
2016/03/24 职场文书