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


相关推荐: Python函数文档自动校验_规范解析【教程】  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  如何快速重置建站主机并恢复默认配置?  ,网页ppt怎么弄成自己的ppt?  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  Laravel Fortify是什么,和Jetstream有什么关系  Laravel怎么使用Intervention Image库处理图片上传和缩放  Python文件流缓冲机制_IO性能解析【教程】  重庆市网站制作公司,重庆招聘网站哪个好?  详解jQuery中的事件  音乐网站服务器如何优化API响应速度?  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】  如何在建站主机中优化服务器配置?  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  高防服务器如何保障网站安全无虞?  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  java中使用zxing批量生成二维码立牌  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  移动端脚本框架Hammer.js  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  微信小程序 input输入框控件详解及实例(多种示例)  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  在线制作视频的网站有哪些,电脑如何制作视频短片?  Laravel事件监听器怎么写_Laravel Event和Listener使用教程  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  Android使用GridView实现日历的简单功能  如何解决hover在ie6中的兼容性问题  如何在局域网内绑定自建网站域名?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  微信推文制作网站有哪些,怎么做微信推文,急?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  北京的网站制作公司有哪些,哪个视频网站最好?  详解阿里云nginx服务器多站点的配置  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  如何快速查询网址的建站时间与历史轨迹?  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】