JS接收controller返回的list,map

方式一:

实体

public class MeetingInfo {

private String id;
private String meetingName; // 会议名称
private String meetingType; // 会议类型
private String proposer; // 会议发起人id
private String meetingRoomId; // 会议室id
private String meetingAddress; // 自定义会议地址
private String meetingContent; // 会议内容
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//页面写入数据库时格式化
@JSONField(format="yyyy-MM-dd HH:mm:ss")//数据库导出页面时json格式化
private Date beginDate; // 会议开始时间
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") //页面写入数据库时格式化
@JSONField(format = "yyyy-MM-dd HH:mm:ss") //数据库导出页面时JSON格式化
private Date endDate; // 会议结束时间
private Integer meetingNum; // 会议应到人数
private Integer reminder; // 提醒方式
private Integer meetingStatus; // 会议状态
。。。。。。省略geter/setter

 

后台

@ResponseBody
@RequestMapping(value = "/test",method = RequestMethod.POST)
public List<MeetingInfo> test(){ 
List<MeetingInfo> list = new ArrayList<>();
MeetingInfo m1 = new MeetingInfo();
m1.setId("123");
m1.setMeetingName("发顺丰");
m1.setBeginDate(new Date());
MeetingInfo m2 = new MeetingInfo();
m2.setId("123fdsa");
m2.setMeetingName("法第三方第三方");
m2.setBeginDate(new Date());
list.add(m1);
list.add(m2);
return list;
}

 

JS
JS接收List

1、使用数组转换

//添加ajax访问后台
$.ajax({
async : false,
cache : false,
type:'POST',
url:requestPath ,

//contentType : "application/json;charset=utf-8",
success:function (result) {
var arr = [];
for(var item in result){
arr.push(result[item]);
}
for (var i = 0; i < arr.length; i++) {
alert(arr[i].id);
alert(arr[i].meetingName);
}

}
});

 

2、使用eval()
步骤:将List 转成json,传到界面。js中使用eval(result)将list转成js数组。

//添加ajax访问后台
$.ajax({
async : false,
cache : false,
type:'POST',
url:requestPath ,

//contentType : "application/json;charset=utf-8",
success:function (result) {

//将List 转成json,传到界面。js中使用eval(result)将list转成js数组。
var s = JSON.stringify(result);
var keyList = eval(s);
for (var i = 0; i < keyList.length; i++) {
alert(keyList[i].id);
alert(keyList[i].meetingName)

}
}
});

方式二:

Controller

 /**
      * 上架/下架
      * @param id  楼盘id
      * @param status  状态  2:下架    1:上架
      */
     public void setShiefStatus(@Read(key="id") final String id,@Read(key="status" ) final Integer status){
            this.filterException("setShief", new MethodCallBack(){
                @Override
                public String doProcessMethod() throws Exception {
                    String userId = SysUtils.getPrincipal().getId();
                    
                    
                    String result =    nhStageIService.setShiefStatus(id,userId,status);
                    renderText(result);
                    return null;
                }
             });
     }

services

    if(ls==null||ls.size()==0){
                Map<String,Object> rs = new HashMap<String, Object>();
                rs.put("success", false);
                rs.put("msg", "请上传效果图并设置首图!");
                return JSON.toJSONString(rs);
            }

renderText

protected void renderText(String text) {
        try {
            HttpServletResponse response = this.innerGetResponse();
            response.setContentType("text/plain;charset=UTF-8");
            response.getWriter().write(text);
            response.flushBuffer();
        } catch (IOException var3) {
            this.logger.error(var3);
        }

    }

js

                        data = eval('('+data+')');
                        if(data.success==false){
                            jboxAlert(data.msg);
                        }else{
                            jboxAlert('发布楼盘失败,请重试!');
                        }

 

//弹出提示信息
function jboxAlert(messages){
    top.$.jBox.alert(messages, "提示");
}

 

posted @ 2020-02-20 16:39  十月围城小童鞋  阅读(2654)  评论(0编辑  收藏  举报