后台以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 ...
随机推荐
- html 常用小技巧
style = "cursor:pointer;" 变小手 a{ text-decoration:none; } 或者把这个属性分别加到a标签下, a:link{ text-dec ...
- Linux crontab计划任务
1.cron计划任务的描述 cron计划任务允许用户根据“时间表”自动周期的完成任务某些任务. cron是一种system V服务,需要开启该服务才能使用. ...
- adb shell命令模拟按键/输入input使用keycode 列表详解
在adb shell里有一个非常使用的命令,模拟按键输入,这里首先不要理解为是键盘的模拟按键,下面命令的使用和键值做一个详解. input命令格式 adb shell input keyevent & ...
- yum 安装mysql-server 5.6
# rpm ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm # yum install -y mysql-s ...
- heike
黑客工具 hacker disassembler engine download IDApro
- Java线程与Linux内核线程的映射关系(转)
Java线程与Linux内核线程的映射关系 Java线程与Linux内核线程的映射关系Linux从内核2.6开始使用NPTL (Native POSIX Thread Library)支持,但这时线程 ...
- 微信小程序-自制弹出框禁止页面上下滑动
弹出 fixed 弹窗后,在弹窗上滑动会导致下层的页面一起跟着滚动. 解决方法: 在弹出层加上 catchtouchmove 事件 两种方法:(在电脑上测试是没有用的,这是触摸事件.因此,需要在手机端 ...
- 对前端Jenkins自动化部署的研究
1. 安装 安装 Nginx 1.1去官网下直接下载,解压缩 start nginx就可以使了,常用命令: start nginx # 启动 nginx -s reload # 修改配置后重新加载生效 ...
- java.lang.IllegalArgumentException: java.io.IOException: Alias name [tomcat] does not identify a key entry
java.lang.IllegalArgumentException: java.io.IOException: Alias name [tomcat] does not identify a key ...
- print和赋值
赋值 #可同时(并行)给多个变量赋值 x, y, z = 1, 2, 3 #交换多个变量的值 x, y = y, x 序列解包(或可迭代对象解包):将一个序列(或任何可迭代对象)解包,并将得到的值存储 ...