使用ajax实现前后端对接

前端代码

$.ajax({
    url: '/unit/add',
    type: 'POST',
    data:{
        "unit": [{
  id:1234,
  custAccId:123214,
  unitName:"mingc",
  remarks:"asdasd",
    },
{
    id:1234,
    custAccId:1234,
    unitName:"mingc",
    remarks:"asdasd",
}], 
},
    dataType: 'json',
    success: function (data) {
        if(data.status=200){
            alert("成功")  
        }
    }
})

后端接收

 

@RequestMapping("/add")
@ResponseBody 

public ResponseResult add(@RequestParam Map<String,Object> map) {
         System.out.println(map.toString());

        for (Object o : map.keySet()) {
             System.out.println(map.get(o));
        }
        return  new ResponseResult(200,"成功",map);
    }

 

 

 ResponseResult 工具代码

 

package com.zjcloud.product.result;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

import java.util.List;

public class ResponseResult {

        // 定义jackson对象
        private static final ObjectMapper MAPPER = new ObjectMapper();

        // 响应业务状态
        private Integer status;

        // 响应消息
        private String msg;

        // 响应中的数据
        private Object data;

        public static ResponseResult build(Integer status, String msg, Object data) {
            return new ResponseResult(status, msg, data);
        }

        public static ResponseResult ok(Object data) {
            return new ResponseResult(data);
        }

        public static ResponseResult ok() {
            return new ResponseResult(null);
        }

        public ResponseResult() {

        }

        public static ResponseResult build(Integer status, String msg) {
            return new ResponseResult(status, msg, null);
        }

        public ResponseResult(Integer status, String msg, Object data) {
            this.status = status;
            this.msg = msg;
            this.data = data;
        }

        public ResponseResult(Object data) {
            this.status = 200;
            this.msg = "OK";
            this.data = data;
        }

        public Boolean isOK() {
            return this.status == 200;
        }

        public Integer getStatus() {
            return status;
        }

        public void setStatus(Integer status) {
            this.status = status;
        }

        public String getMsg() {
            return msg;
        }

        public void setMsg(String msg) {
            this.msg = msg;
        }

        public Object getData() {
            return data;
        }

        public void setData(Object data) {
            this.data = data;
        }

        /**
         * 将json结果集转化为ResponseResult对象
         *
         * @param jsonData json数据
         * @param clazz ResponseResult中的object类型
         * @return
         */
        public static ResponseResult formatToPojo(String jsonData, Class<?> clazz) {
            try {
                if (clazz == null) {
                    return MAPPER.readValue(jsonData, ResponseResult.class);
                }
                JsonNode jsonNode = MAPPER.readTree(jsonData);
                JsonNode data = jsonNode.get("data");
                Object obj = null;
                if (clazz != null) {
                    if (data.isObject()) {
                        obj = MAPPER.readValue(data.traverse(), clazz);
                    } else if (data.isTextual()) {
                        obj = MAPPER.readValue(data.asText(), clazz);
                    }
                }
                return build(jsonNode.get("status").intValue(), jsonNode.get("msg").asText(), obj);
            } catch (Exception e) {
                return null;
            }
        }

        /**
         * 没有object对象的转化
         *
         * @param json
         * @return
         */
        public static ResponseResult format(String json) {
            try {
                return MAPPER.readValue(json, ResponseResult.class);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }

        /**
         * Object是集合转化
         *
         * @param jsonData json数据
         * @param clazz 集合中的类型
         * @return
         */
        public static ResponseResult formatToList(String jsonData, Class<?> clazz) {
            try {
                JsonNode jsonNode = MAPPER.readTree(jsonData);
                JsonNode data = jsonNode.get("data");
                Object obj = null;
                if (data.isArray() && data.size() > 0) {
                    obj = MAPPER.readValue(data.traverse(),
                            MAPPER.getTypeFactory().constructCollectionType(List.class, clazz));
                }
                return build(jsonNode.get("status").intValue(), jsonNode.get("msg").asText(), obj);
            } catch (Exception e) {
                return null;
            }
        }

    }

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值