ajax返回数据

1.目的

执行controller后,可能顺利执行或发送异常,通过数据记录,在前台进行显示执行结果

2.工具类

声明json工具类,  用于包装数据

JsonResult.java 

 

code    

用于表示是否完成请求

 

data

同时声明put 和get方法,用于 存入和提取  自定义数据

/**
 * 封装AJAX传输数据
 * 
 *
 */
public class JsonResult {
	private int code;
	private Map<String, Object> data;
	
	public JsonResult() {
		this.code = 0;
	}
	
	public JsonResult(int code) {
		this.code = code;
	}
	
	public JsonResult(int code, Map<String, Object> map) {
		this.code = code;
		this.data = map;
	}
	
	public void put(String key, Object val) {
		if (data == null) data = new HashMap<String, Object>();
		data.put(key, val);
	}

	public Object get(String key) {
		if (data != null) return data.get(key);
		return null;
	}

	public int getCode() {
		return code;
	}

	public void setCode(int code) {
		this.code = code;
	}

	public Map<String, Object> getData() {
		return data;
	}

	public void setData(Map<String, Object> data) {
		this.data = data;
	}

}

 

3.在controller中使用

 

//声明返回类
JsonResult result = new JsonResult();

//设置返回字段
result.setCode(Constants.ERROR_CODE_BUSINESS);
result.put("nameExisted", "yes");

//设置返回response
response.setContentType("application/json");
response.setCharacterEncoding("utf-8");
response.getWriter().print(JSON.toJSONString(result));

JSON.toJsonString

将对象转为json字符串,方便前台提取

案例

class JsonResultTest {
    JsonResult jsonResult=new JsonResult();
    @Test
    void put() {
        jsonResult.put("1", "yes");
        jsonResult.put("2", "no");
        System.out.println(jsonResult);
        System.out.println(JSON.toJSONString(jsonResult));
    }
}

输出结果

com.atoz.cbtsys.common.JsonResult@61d47554
{"code":0,"data":{"1":"yes","2":"no"}}

 

4.ajax接受数据

在success函数中取出填入的数据

    success: function (data) {
                        if (data['code'] == 0) {
                            $('#group-add-edit-modal').modal('hide');
                            $('#group-reset').click();
                            $("body").css("padding-right", "0px");
                            bootbox.alert("添加成功");
                            planIndex.initGroupListByPlan(planIdChoosed);
                        } else if( data['data']['nameExisted']=="yes") {
                            bootbox.alert("名称  “"+ data['data']['repeatedName'] +  "”  已存在,请重新输入名称");
                        }
                    },

data里放什么,取什么

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值