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进行解析,然后封装到形参上。

上一篇下一篇

猜你喜欢

热点阅读