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的多彩百分比 动态进度条 投票效果显示效果实现代码
Aug 28 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
Dec 16 Javascript
JavaScript实现的一个日期格式化函数分享
Dec 06 Javascript
jQuery控制网页打印指定区域的方法
Apr 07 Javascript
jquery实现移动端点击图片查看大图特效
Sep 11 Javascript
jQuery基本选择器(实例及表单域value的获取方法)
May 20 Javascript
Node.js + Redis Sorted Set实现任务队列
Sep 19 Javascript
js排序与重组的实例讲解
Aug 28 Javascript
JS+WCF实现进度条实时监测数据加载量的方法详解
Dec 19 Javascript
详解Vue webapp项目通过HBulider打包原生APP
Jun 29 Javascript
js实现旋转木马轮播图效果
Jan 10 Javascript
vue-iview动态新增和删除的方法
Jun 17 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
php连接数据库代码应用分析
2011/05/29 PHP
PHP实现懒加载的方法
2015/03/07 PHP
cakephp常见知识点汇总
2017/02/24 PHP
thinkphp5框架API token身份验证功能示例
2019/05/21 PHP
HTML-CSS群中单选引发的“事件”
2007/03/05 Javascript
php上传图片并给图片打上透明水印的代码
2010/06/07 Javascript
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
2010/10/18 Javascript
JavaScript SetInterval与setTimeout使用方法详解
2013/11/15 Javascript
一个简单的JS时间控件示例代码(JS时分秒时间控件)
2013/11/22 Javascript
javascript函数定义的几种区别小结
2014/01/06 Javascript
Javascript基础教程之定义和调用函数
2015/01/18 Javascript
javascript实现炫酷的拖动分页
2015/05/11 Javascript
JavaScript实现列表分页功能特效
2015/05/15 Javascript
js实现的倒计时按钮实例
2015/06/24 Javascript
jquery实现九宫格大转盘抽奖
2015/11/13 Javascript
jquery实现百叶窗效果
2017/01/12 Javascript
vue中如何引入jQuery和Bootstrap
2017/04/10 jQuery
JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法
2018/06/07 Javascript
JS中如何轻松遍历对象属性的方式总结
2019/08/06 Javascript
探索node之事件循环的实现
2020/10/30 Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
2020/11/04 Javascript
PHP 502bad gateway原因及解决方案
2020/11/13 Javascript
用Python的SimPy库简化复杂的编程模型的介绍
2015/04/13 Python
PyQt5主窗口动态加载Widget实例代码
2018/02/07 Python
centos7中安装python3.6.4的教程
2019/12/11 Python
python离线安装外部依赖包的实现
2020/02/13 Python
python如何发送带有附件、正文为HTML的邮件
2021/02/27 Python
英国在线泳装店:Simply Swim
2019/05/05 全球购物
打架检讨书400字
2014/01/17 职场文书
企业节能减排实施方案
2014/03/19 职场文书
心理咨询承诺书
2014/05/20 职场文书
三人合伙协议书范本
2014/10/29 职场文书
小学生班干部竞选稿
2015/11/20 职场文书
《祁黄羊》教学反思
2016/02/20 职场文书
确保减税降费落地生根,用实实在在措施
2019/07/19 职场文书
SSM VUE Axios详解
2021/10/05 Vue.js