1、前台AJAX請求,后台以對象轉JSON形式返回:
后台代碼:
@RequestMapping(value = "/queryDist", method = RequestMethod.POST) @ResponseBody public Result queryDist(HttpServletRequest request) { Boolean f = false; String devCode = request.getParameter("devCode"); Subject subject = SecurityUtils.getSubject(); String userId = (String) subject.getPrincipal(); User user = userService.getUserById(userId); log.info("發送盤點指令,設備號是:"+devCode+",盤點指定卡盤:為指定;"); Map map=new HashMap();
try { //。。。。。。邏輯代碼省略。。。。。。。。。。。。。 return new Result(true, ResultCodeEnum.SUCCESS.getRetCode(),ResultCodeEnum.SUCCESS.getRetMsg(),list); } } catch (Exception e) { log.info("加卡指令發送失敗"+e.getMessage()); e.printStackTrace(); return new Result(false, ResultCodeEnum.CONNECT_ERROR.getRetCode(),ResultCodeEnum.CONNECT_ERROR.getRetMsg()); } return new Result(f); }
其中Result是我們自己的一個java類:
public class Result { private boolean success; private String retCode ; private String retMsg; private Object data; private String message; private String code; }
前台接受及加工情況:
ajaxPost(basePath+"/api/deviceController/queryDist?devCode="+devCode,null,function(data){ if(data.retCode=='00'){ modals.correct("指令發送成功,數據盤點中,請稍后..."); console.log(data.data) var nums=data.data; console.log(nums.length) for (var i=0;i<nums.length;i++){ if (nums[i].indexOf("-")==0){//實際盤庫有卡但是數據庫記錄無卡 $("#showResult").append("<div class=\"eachMassage\" style=\"padding-left:10px;padding-left:10px;width: 90%;height: 25px;line-height: 25px;margin: 5px auto;background-color: rgba(0,0,255,0.3);text-align: left;border-radius: 3px;color: white;\">卡槽"+(0-nums[i])+"數據不匹配:數據庫記錄無卡,實際盤庫結果有卡</div>\n") } else { $("#showResult").append("<div class=\"eachMassage\" style=\"padding-left:10px;padding-left:10px;width: 90%;height: 25px;line-height: 25px;margin: 5px auto;background-color:rgba(0,255,0,0.3);text-align: left;border-radius: 3px;color: white;\">卡槽"+nums[i]+"數據不匹配:數據庫記錄有卡,實際盤庫結果無卡</div>\n") } } }else{ modals.error("指令發送失敗,連接設備失敗"); } });
2、后台返回的List里面裝對象然后轉為json:
后台代碼:
public List<Comments> findCommentsByMessageId(HttpServletRequest request, HttpServletResponse response,int msgId){ List<Comments> list= service.findCommentsByMessageId(msgId); //將列表轉成json字符串 JSONArray json=JSONArray.fromObject(list); String jsonString=json.toString(); //將json字符串返回給前台 try { PrintWriter out =response.getWriter(); out.write(jsonString); out.flush(); out.close(); } catch (IOException e) { e.printStackTrace(); } return null; }
注意:上面的代碼執行的前提是目標對象也就是上面的Comments類需要“toString”:
@Override public String toString() { return "Comments [commentsId=" + commentsId + ", messageId=" + messageId + ", messageUserId=" + messageUserId + ", commentsUserId=" + commentsUserId + ", commentwords=" + commentwords + ", publishtime=" + publishtime + ", headimgname=" + headimgname + ", nickname=" + nickname + "]"; }
前台解析代碼:


其他情況待總結
