后台以json数据形式返回之后前台接受的方法以及之后的解析总结
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
+ "]";
}
前台解析代码:


其他情况待总结
后台以json数据形式返回之后前台接受的方法以及之后的解析总结的更多相关文章
- 用ajax获取后台数据,返回json数据,怎么在前台使用?
用ajax获取后台数据,返回json数据,怎么在前台使用呢?后台 C# code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 if (dataType == &qu ...
- 传递给后台的Json数据解析
后台代码如下: public void ProcessRequest(HttpContext context) { context.Response.ContentType = "appli ...
- 【Spring学习笔记-MVC-5】利用spring MVC框架,实现ajax异步请求以及json数据的返回
作者:ssslinppp 时间:2015年5月26日 15:32:51 1. 摘要 本文讲解如何利用spring MVC框架,实现ajax异步请求以及json数据的返回. Spring MV ...
- SpringBoot入门篇--对于JSON数据的返回以及处理一
在后台的开发过程中不可避免的就是一系列对JSON数据的返回,需要我们进行的就是提供各种各样的数据.一般情况下数据类型最常用的就是JSON以及XML,在这里我们就讲讲在SpringBoot里面我们怎样进 ...
- jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
对于问题从后台获取json数据,将内容填充到下拉列表,代码非常简单,具体过程请看下面代码. 需求:url:链接 par:ID sel:下拉列表选择器 function BuildS ...
- jquery用ajax方式从后台获取json数据,将内容填充到下拉列表。
从后台获取json数据,将内容填充到下拉列表. url:链接 par:ID sel:下拉列表选择器 //获取下拉列表 function BuildSelectBox(url, par, sel) { ...
- Jquery Ajax和getJSON获取后台普通Json数据和层级Json数据解析
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JSONArray ja = JSONArray.fromObject(list);//特殊类 用于将list转化为JSON 数据并返回 out.print(ja);
JSONArray ja = JSONArray.fromObject(list);//特殊类 用于将list转化为JSON 数据并返回out.print(ja);
- SpringMVC中出现" 400 Bad Request "错误(用@ResponseBody处理ajax传过来的json数据转成bean)的解决方法
最近angularjs post到后台 400一头雾水 没有任何错误. 最后发现好文,感谢作者 SpringMVC中出现" 400 Bad Request "错误(用@Respon ...
随机推荐
- jsp页面中JSTL如何处理日期格式
引入fmt标签 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> 格 ...
- js变量的作用域与函数作用域
引自 1. 变量的作用域(var与let的区别) 在函数之外声明的变量,叫做全局变量,因为它可被当前文档中的任何其他代码所访问.在函数内部声明的变量,叫做局部变量,因为它只能在当前函数的内部访问. E ...
- paramiko模块(基于SSH用于连接远程服务器)
paramiko模块,基于SSH用于连接远程服务器并执行相关操作 class SSHConnection(object): def __init__(self, host_dict): self.ho ...
- 一、bif
缩进是python的灵魂,缩进可以使python的代码整洁,有层次. python是脚本语言,就是为了简单方便以辅助科学运算,因此python有许多bif,build in function 全部都是 ...
- Java动态加载类
详见:https://blog.csdn.net/zai_xia/article/details/80026325 扩展:java反射机制与动态加载类 https://www.cnblogs.com/ ...
- ipc - System V 进程间通信机制
SYNOPSIS 总览 # include <sys/types.h> # include <sys/ipc.h> # include <sys/msg.h> # ...
- oracle高水位降低法
1.什么是高水位?(high water mark 简称:HWM) 所有的oracle段(segments,在此,为了理解方便,建议把segment作为表的一个同义词)都有一个在段内存放数据的 ...
- CenterNet
Objects as Points anchor-free系列的目标检测算法,只检测目标中心位置,无需采用NMS 1.主干网络 采用Hourglass Networks [1](还有resnet18 ...
- zencart后台修改首页meta_title、meta_keywords、meta_description
includes\languages\english\模板\meta_tags.php 首先,将meta_tags.php中常量HOME_PAGE_META_DESCRIPTION.HOME_PAGE ...
- Vue使用animate.js
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...