6、ajax请求传递多种类型的参数到后台(使用springboo
2019-02-12 本文已影响0人
Yangsir_0d8c
1、前端实例:
$.ajax({
url: fleet.apiUrl + "/sendSimulatedFleetEmail",
type: "post",
dataType: "json",
traditional: true,
data: JSON.stringify({
// vm.calcuResult为数组
fleetList : vm.calcuResult,
choose: $('input:radio[name="sing"]:checked').val(),
image1: vm.fleetImage.image01,
image2: vm.fleetImage.image02,
image3: vm.fleetImage.image03,
image4: vm.fleetImage.image04}),
contentType : 'application/json;charset=utf-8',
success: function (resp) {
// alert("发送成功")
}
})
2、后台实例
public ResponseBase<HashMap<String, Object>> sendSimulatedFleetEmail(@RequestBody SimulatedFleetBo fleetBo) {
}
补充:
(1)SimulatedFleetBo为实体类、结构如下(需为其添加get、set方法):
public class SimulatedFleetBo implements Serializable {
private List<SimulatedFleet> fleetList; // 车队数据
private String choose; //联系人选择
private String image1;
private String image2;
private String image3;
private String image4;
private String description; // 邮件描述
}
(2)contentType : 'application/json;charset=utf-8' 表示前台传递数据为json类型数据,作为请求体内容提交到服务器,中文需要加上编码方式。
(3)dataType : 'json', 表示前台希望后台响应的数据类型
其中 data数据需要用JSON.stringify来将JSON对象转化为JSON字符串。
(4) @RequestBody是作用在形参列表上,用于将前台发送过来固定格式的数据【xml 格式或者 json等】封装为对应的 JavaBean 对象,封装时使用到的一个对象是系统默认配置的 HttpMessageConverter进行解析,然后封装到形参上。