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.datatable共存,checkbox全选异常的快速解决方法
Dec 10 Javascript
jquery validate 自定义验证方法介绍 日期验证
Feb 27 Javascript
Jquery使用css方法改变样式实例
May 18 Javascript
js实现正则匹配中文标点符号的方法
Dec 23 Javascript
基于javascript实现图片滑动效果
May 07 Javascript
javascript学习之json入门
Dec 22 Javascript
浅谈JavaScript中的apply/call/bind和this的使用
Feb 26 Javascript
基于JQuery的购物车添加删除以及结算功能示例
Mar 08 Javascript
vue2 前端搜索实现示例
Feb 26 Javascript
react native 获取地理位置的方法示例
Aug 28 Javascript
vue实现带过渡效果的下拉菜单功能
Feb 19 Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
Oct 29 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/12/24 PHP
php+mysqli事务控制实现银行转账实例
2015/01/29 PHP
用jquery实现学校的校历(asp.net+jquery ui 1.72)
2010/01/01 Javascript
javascript contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2010/02/04 Javascript
jQuery实战之仿淘宝商城左侧导航效果
2011/04/12 Javascript
解决JS浮点数运算出现Bug的方法
2013/03/12 Javascript
jquery prop的使用介绍及与attr的区别
2013/12/19 Javascript
JQuery实现绚丽的横向下拉菜单
2013/12/19 Javascript
js读取并解析JSON类型数据的方法
2015/11/14 Javascript
jquery实现具有嵌套功能的选项卡
2016/02/12 Javascript
BootStrap Validator 版本差异问题导致的submitHandler失效问题的解决方法
2016/12/01 Javascript
使用jsonp实现跨域获取数据实例讲解
2016/12/25 Javascript
从零开始学习Node.js系列教程一:http get和post用法分析
2017/04/13 Javascript
iscroll动态加载数据完美解决方法
2017/07/18 Javascript
小程序实现多列选择器
2019/02/15 Javascript
vue router 用户登陆功能的实例代码
2019/04/24 Javascript
微信小程序版本自动更新的方法
2019/06/14 Javascript
微信小程序开发之获取用户手机号码(php接口解密)
2020/05/17 Javascript
JavaScript如何操作css
2020/10/24 Javascript
[03:39]DOTA2英雄梦之声_第05期_幽鬼
2014/06/23 DOTA
Python获取apk文件URL地址实例
2013/11/01 Python
pycharm 使用心得(三)Hello world!
2014/06/05 Python
详解Python3中的Sequence type的使用
2015/08/01 Python
Python爬取当当、京东、亚马逊图书信息代码实例
2017/12/09 Python
python连接mysql有哪些方法
2020/06/24 Python
windows支持哪个版本的python
2020/07/03 Python
python实现学生信息管理系统(精简版)
2020/11/27 Python
pycharm 实现复制一行的快捷键
2021/01/15 Python
纯DOM+CSS3实现简单的小风车动画
2016/09/27 HTML / CSS
全球性的在线时尚男装零售商:boohooMAN
2016/12/17 全球购物
前台接待岗位职责
2013/12/03 职场文书
2014年秋季开学典礼致辞
2014/08/02 职场文书
财产保全担保书
2015/01/20 职场文书
技术转让协议书
2016/03/19 职场文书
解除合同协议书范本
2016/03/21 职场文书
在Java中Collection的一些常用方法总结
2021/06/13 Java/Android