Spring MVC 中 AJAX请求并返回JSON的示例

发布时间 - 2026-01-10 22:31:44    点击率:

一、以ModelAndView的方式返回

先看下JavaScript代码:

/**
 * 保存-同步(版本控制库)
 */
function saveSynchronizedVcHorse(obj) {
  var ss = $("#SynchronizedSelection div");
  var cacheSelectAry = new Array()
  for(var i = 0; i < ss.length; i ++) {
    //alert(ss.eq(i).html());
    //alert(ss.eq(i).find('label').html());
    var o=ss.eq(i).find('label').find("input[type='checkbox']");
    
    var s = $(o).attr('checked');//由于$(obj).attr("checked", false); checked属性会被
    if(s != null) {
      cacheSelectAry.push($(o).attr('value'));
    } 
  }
  if(cacheSelectAry.length == 0) {
    alert("请选择城市");
    return;
  }
  var json = "SynchronizedBean={\"exceptionId\":\""+exceptionId+"\",\"cityIds\":["
  for(var i = 0; i < cacheSelectAry.length; i ++) {
    if(i == cacheSelectAry.length -1) {
      json = json +"\""+ cacheSelectAry[i] + "\"";
    } else {
      json = json + "\"" + cacheSelectAry[i] + "\",";
    }
  }
  json = json + "]}";
  $.ajax({
      type: "POST",
      dataType: "json",
      url: "../main/saveSynchronizedData",
      data: json,
      success: function(msg){
        alert(msg.main);
      },
      error: function () {//XMLHttpRequest, textStatus, errorThrown
        alert("请求失败"); 
      } 
  });
}

主要是看ajax请求部分。

再看Spring 中控制器的代码:

@RequestMapping(value = "/saveSynchronizedData", method = RequestMethod.POST)
  public @ResponseBody ModelAndView saveSynchronizedData(@RequestParam("SynchronizedBean") String mSynchronizedJSON) {
    ObjectMapper objectMapper = new ObjectMapper();
    Map<String, String> map = new HashMap<String, String>();
    try {
      SynchronizedBean bean = objectMapper.readValue(mSynchronizedJSON, SynchronizedBean.class);
      if(bean != null) {
        String[] ary = bean.getCityIds();
        if(ary != null && ary.length > 0) {
          for(String s : ary) {
            VCHousePo po = new VCHousePo();
            po.setExceptionId(bean.getExceptionId());
            po.setCustomerCode(s);
            po.setCreateTime(new Date());
            po.setExceptionState(0);
            vcHService.add(po);
          }
        }
      }
      map.put("msg", "success");
    } catch (JsonParseException e) {
      e.printStackTrace();
      map.put("msg", "error");
    } catch (JsonMappingException e) {
      e.printStackTrace();
      map.put("msg", "error");
    } catch (IOException e) {
      e.printStackTrace();
      map.put("msg", "error");
    }
    return new ModelAndView(new MappingJackson2JsonView(),map);
  }

这里是通过ModelAndView的方式进行返回JSON的。另外:MappingJackson2JsonView使用的package是 

import org.springframework.web.servlet.view.json.MappingJackson2JsonView;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# springmvc  # ajax  # json  # spring  # mvc  # ajax请求  # SpringMVC中处理Ajax请求的示例  # SpringMVC ajax请求的处理方法介绍  # Springmvc处理ajax请求并返回json数据  # Spring MVC中处理ajax请求的跨域问题与注意事项详解  # Springmvc ajax跨域请求处理方法实例详解  # springMVC解决ajax请求乱码的三种方法  # SpringMVC环境下实现的Ajax异步请求JSON格式数据  # Spring MVC 处理Ajax请求的方式详解  # 请选择  # 再看  # 先看  # 大家多多  # 主要是  # null  # false  # push  # return  # find  # checked  # input  # type  # checkbox  # attr  # label  # main  # url  # dataType  # success 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  如何用AWS免费套餐快速搭建高效网站?  如何在万网主机上快速搭建网站?  JavaScript如何实现继承_有哪些常用方法  HTML 中动态设置元素 name 属性的正确语法详解  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  如何在IIS管理器中快速创建并配置网站?  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  Laravel如何使用Service Container和依赖注入?(代码示例)  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  Java解压缩zip - 解压缩多个文件或文件夹实例  高防服务器:AI智能防御DDoS攻击与数据安全保障  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  如何用低价快速搭建高质量网站?  中山网站制作网页,中山新生登记系统登记流程?  如何快速配置高效服务器建站软件?  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  如何快速生成凡客建站的专业级图册?  文字头像制作网站推荐软件,醒图能自动配文字吗?  如何用西部建站助手快速创建专业网站?  海南网站制作公司有哪些,海口网是哪家的?  用v-html解决Vue.js渲染中html标签不被解析的问题  如何彻底卸载建站之星软件?  Laravel集合Collection怎么用_Laravel集合常用函数详解  公司网站制作价格怎么算,公司办个官网需要多少钱?  C语言设计一个闪闪的圣诞树  Laravel怎么连接多个数据库_Laravel多数据库连接配置  linux写shell需要注意的问题(必看)  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  微信小程序 五星评分(包括半颗星评分)实例代码  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  在线教育网站制作平台,山西立德教育官网?  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  Laravel怎么使用artisan命令缓存配置和视图  JavaScript实现Fly Bird小游戏  北京网站制作公司哪家好一点,北京租房网站有哪些?  Android Socket接口实现即时通讯实例代码  高端云建站费用究竟需要多少预算?  Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  零基础网站服务器架设实战:轻量应用与域名解析配置指南  如何在搬瓦工VPS快速搭建网站?  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  jQuery validate插件功能与用法详解