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 相关文章推荐
jQuery给动态添加的元素绑定事件的方法
Mar 09 Javascript
jQuery对指定元素中指定字符串进行替换的方法
Mar 17 Javascript
js鼠标点击按钮切换图片-图片自动切换-点击左右按钮切换特效代码
Sep 02 Javascript
关于JS中match() 和 exec() 返回值和属性的测试
Mar 21 Javascript
详解vue2父组件传递props异步数据到子组件的问题
Jun 29 Javascript
Node.js JSON模块用法实例分析
Jan 04 Javascript
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
Feb 15 jQuery
详解vue-cli 脚手架 安装
Apr 16 Javascript
小程序中英文混合排序问题解决
Aug 02 Javascript
封装一下vue中的axios示例代码详解
Feb 16 Javascript
JavaScript实现简单动态表格
Dec 02 Javascript
vue使用element-ui按需引入
May 20 Vue.js
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 is_file 判断给定文件名是否为一个正常的文件
2010/05/10 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
详解PHP错误日志的获取方法
2015/07/20 PHP
Jquery ajaxsubmit上传图片实现代码
2010/11/04 Javascript
原生Js实现简易烟花爆炸效果的方法
2015/03/20 Javascript
JS基于myFocus库实现各种功能的tab选项卡切换效果
2015/09/19 Javascript
Node.js实现数据推送
2016/04/14 Javascript
实例讲解JavaScript的Backbone.js框架中的View视图
2016/05/05 Javascript
JS 对象(Object)和字符串(String)互转方法
2016/05/20 Javascript
JS 事件绑定、事件监听、事件委托详细介绍
2016/09/28 Javascript
微信小程序 LOL 英雄介绍开发实例
2016/09/30 Javascript
vue实现导航栏效果(选中状态刷新不消失)
2017/12/13 Javascript
微信小程序使用request网络请求操作实例
2017/12/15 Javascript
AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例
2018/04/21 Javascript
clipboard在vue中的使用的方法示例
2018/10/19 Javascript
Electron中实现大文件上传和断点续传功能
2018/10/28 Javascript
node crawler如何添加promise支持
2020/02/01 Javascript
[03:58]兄弟们,回来开黑了!DOTA2昔日战友招募宣传视频
2016/07/17 DOTA
[30:00]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第二场 11.28
2020/12/01 DOTA
提升Python程序运行效率的6个方法
2015/03/31 Python
python使用PyGame模块播放声音的方法
2015/05/20 Python
Python正则获取、过滤或者替换HTML标签的方法
2016/01/28 Python
Python做文本按行去重的实现方法
2016/10/19 Python
Python实现的下载网页源码功能示例
2017/06/13 Python
python 判断网络连通的实现方法
2018/04/22 Python
Python 实现数组相减示例
2019/12/27 Python
基于Python绘制美观动态圆环图、饼图
2020/06/03 Python
python对一个数向上取整的实例方法
2020/06/18 Python
Python定义一个Actor任务
2020/07/29 Python
CSS3中的5个有趣的新技术
2009/04/02 HTML / CSS
详解Html5 监听拦截Android返回键方法
2018/04/18 HTML / CSS
病人家属写给医院的感谢信
2015/01/23 职场文书
合作合同协议书范本
2015/01/27 职场文书
党小组推荐意见
2015/06/02 职场文书
Python基于百度API识别并提取图片中文字
2021/06/27 Python
win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法
2022/06/25 Servers