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跨页面保存变量做菜单的方法
Jan 17 Javascript
对象无length属性时IE6/IE7中无法将其转换成伪数组(ArrayLike)
Jul 31 Javascript
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
Oct 11 Javascript
如何让页面加载完成后执行js
Jun 26 Javascript
js实现简单随机抽奖的方法
Jan 27 Javascript
JavaScript中常用的验证reg
Oct 13 Javascript
jquery代码规范让代码越来越好看
Feb 03 Javascript
JS去除字符串中空格的方法
Feb 14 Javascript
微信小程序 支付后台java实现实例
May 09 Javascript
Angularjs自定义指令实现分页插件(DEMO)
Sep 16 Javascript
vue项目实战总结篇
Feb 11 Javascript
jQuery编写QQ简易聊天框
Aug 27 jQuery
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
一些常用的php简单命令代码集锦
2007/09/24 PHP
PHP 学习路线与时间表
2010/02/21 PHP
UCenter中的一个可逆加密函数authcode函数代码
2010/07/20 PHP
LotusPhp笔记之:基于ObjectUtil组件的使用分析
2013/05/06 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
使用Mootools动态添加Css样式表代码,兼容各浏览器
2011/12/12 Javascript
js setTimeout()函数介绍及应用以倒计时为例
2013/12/12 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
2015/06/22 Javascript
jQuery Html控件基本操作(日常收集整理)
2016/03/11 Javascript
jQuery自定义插件详解及实例代码
2016/12/29 Javascript
Vue.js系列之vue-router(上)(3)
2017/01/03 Javascript
JS获取字符对应的ASCII码实例
2017/09/10 Javascript
vue路由中前进后退的一些事儿
2019/05/18 Javascript
详细讲解如何创建, 发布自己的 Vue UI 组件库
2019/05/29 Javascript
教你30秒发布一个TypeScript包到NPM的方法步骤
2019/07/22 Javascript
微信小程序用户拒绝授权的处理方法详解
2019/09/20 Javascript
微信小程序中data-key属性之数据传输(经验总结)
2020/08/22 Javascript
Vue基本指令实例图文讲解
2021/02/25 Vue.js
[01:01:04]2018DOTA2亚洲邀请赛 4.5 淘汰赛 OpTic vs TNC 第一场
2018/04/06 DOTA
Python下singleton模式的实现方法
2014/07/16 Python
Python调用C# Com dll组件实战教程
2017/10/12 Python
python实发邮件实例详解
2019/11/11 Python
python 实现关联规则算法Apriori的示例
2020/09/30 Python
matplotlib源码解析标题实现(窗口标题,标题,子图标题不同之间的差异)
2021/02/22 Python
HTML5中在title标题标签里设置小图标的方法
2020/06/23 HTML / CSS
就业协议书怎么填
2014/04/11 职场文书
小学数学课题方案
2014/06/15 职场文书
关于清明节的演讲稿
2014/09/13 职场文书
2014年关工委工作总结
2014/11/17 职场文书
实习科室评语
2015/01/04 职场文书
保研专家推荐信范文
2015/03/25 职场文书
合同审查法律意见书
2015/06/04 职场文书
幼儿园六一主持词
2015/06/30 职场文书
CSS 实现Chrome标签栏的技巧
2021/08/04 HTML / CSS
JavaScript最完整的深浅拷贝实现方式详解
2022/02/28 Javascript
详细聊一聊mysql的树形结构存储以及查询
2022/04/05 MySQL