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 相关文章推荐
ExtJS扩展 垂直tabLayout实现代码
Jun 21 Javascript
js Function类型
Dec 04 Javascript
jQuery下通过replace字符串替换实现大小图片切换
May 22 Javascript
Jquery刷新页面背景图片随机变换的实现方法
Mar 15 Javascript
基于js disabled=&quot;false&quot;不起作用的解决办法
Jun 26 Javascript
jquery获取子节点和父节点的示例代码
Sep 10 Javascript
node.js中的fs.symlinkSync方法使用说明
Dec 15 Javascript
JavaScript中数据结构与算法(一):栈
Jun 19 Javascript
解决jquery实现的radio重新选中的问题
Jul 03 Javascript
js实现表单检测及表单提示的方法
Aug 14 Javascript
jQuery实现的自定义轮播图功能详解
Dec 28 jQuery
解决Echarts 显示隐藏后宽度高度变小的问题
Jul 19 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小偷程序)
2014/08/23 PHP
php中实现可以返回多个值的函数实例
2015/03/21 PHP
PHP+apc+ajax实现的ajax_upload上传进度条代码
2016/01/25 PHP
php注册审核重点解析(数据访问)
2017/05/23 PHP
JQuery UI皮肤定制
2009/07/27 Javascript
C#中TrimStart,TrimEnd,Trim在javascript上的实现
2011/01/17 Javascript
firefox下jQuery UI Autocomplete 1.8.*中文输入修正方法
2012/09/19 Javascript
javascript中的toFixed固定小数位数 简单实例分享
2013/07/12 Javascript
JS实现的N多简单无缝滚动代码(包含图文效果)
2015/11/06 Javascript
Angular 4 指令快速入门教程
2017/06/07 Javascript
基于three.js编写的一个项目类示例代码
2018/01/05 Javascript
浅谈mvvm-simple双向绑定简单实现
2018/04/18 Javascript
微信公众号服务器验证Token步骤图解
2019/12/30 Javascript
js滚轮事件 js自定义滚动条的实现
2020/01/18 Javascript
通过js随机函数Math.random实现乱序
2020/05/19 Javascript
vue中destroyed方法的使用说明
2020/07/21 Javascript
bootstrap-closable-tab可实现关闭的tab标签页插件
2020/08/09 Javascript
vue页面引入three.js实现3d动画场景操作
2020/08/10 Javascript
AJAX XMLHttpRequest对象创建使用详解
2020/08/20 Javascript
Python3实现生成随机密码的方法
2014/08/23 Python
通过mod_python配置运行在Apache上的Django框架
2015/07/22 Python
python定时检测无响应进程并重启的实例代码
2019/04/22 Python
python实现简单井字棋游戏
2020/03/04 Python
利用css3实现的简单的鼠标悬停按钮
2014/11/04 HTML / CSS
Lulu & Georgia官方网站:购买地毯、家具、抱枕、壁纸、床上用品等
2018/03/19 全球购物
PHP解析URL是哪个函数?怎么用?
2013/05/09 面试题
师范学院毕业生求职信范文
2013/12/26 职场文书
大学生通用个人的自我评价
2014/02/10 职场文书
2014年迎新年活动方案
2014/02/19 职场文书
舞蹈毕业生的自我评价
2014/03/05 职场文书
运动会横幅标语
2014/06/17 职场文书
新学期小学班主任工作计划
2019/06/21 职场文书
MySQL Shell import_table数据导入的实现
2021/08/07 MySQL
一篇文章了解正则表达式的替换技巧
2022/02/24 Javascript
tomcat正常启动但网页却无法访问的几种解决方法
2022/05/06 Servers
vue el-table实现递归嵌套的示例代码
2022/08/14 Vue.js