$.ajax({ type: "post", url: '${ctx}'+'/loan/shopPledgeAjaxSubmit.do', data:$('#submitForm').serialize(), dataType: 'json', success: function (data) { console.log(data); } });
以上是ajax,这个一般都会。
@ResponseBody @RequestMapping(value = "/saveTopBanner", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public ResultBean<AppTopBanner> saveTopBanner(AppTopBanner appTopBanner) { this.appManageService.saveTopBanner(appTopBanner); return new ResultBean<AppTopBanner>(); }
以上是Controller 控制器 返回值可以修改成String ModelAndView等等.下面是最重要的问题,没有注意的话,控制器就获取不到Ajax传进来的对象参数。
package com.joypay.controller.loan; import lombok.Data; import java.io.Serializable; @Data public class AppTopBanner implements Serializable { private Long id; private String bannerUrl; private String pic; }
这最重要的地方就是实体类必须序列化,必须序列化,必须序列化。重要的事说三遍。这样在Controller控制器中就可以获得Ajax传进来的值了。再也不用一个一个的@RequestParam了。
@ResponseBody @RequestMapping(value = "/updateAppGoods", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public ResultBean<AppTopBanner> updateAppGoods(@RequestParam(value = "goodsId") String goodsId, @RequestParam(value = "recommend") String recommend) { this.appManageService.updateAppGoods(goodsId,recommend); return new ResultBean<AppTopBanner>(); }这是不是很方便了。这问题找了好多地方才发现。。。
版权声明:本文为博主原创文章,未经博主允许不得转载。
https://blog.csdn.net/tavatimsa/article/details/79746650