后台以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 ...
随机推荐
- CentOS下配置Apache HTTPS
一.安装Apache支持SSL/TLS yum install mod_ssl openssl 二.创建证书 证书(Cerificate)的基本作用是将一个公钥和安全个体(个人.公司.组织等)的名字绑 ...
- 日语能力考试N2级必备外来语
日语能力考试N2级必备外来语 ア行外来语アンテナ:(antenna) 天线インタビュー :(interview) 采访,访谈ウイルス:(virus ) 病 ...
- redis、rabitmq对比
redis.rabitmq对比 原文地址 简要介绍 RabbitMQ RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性 ...
- 现身说法:面对DDoS攻击时该如何防御?
上周,我们的网站遭到了一次DDoS攻击.虽然我对DDoS的防御还是比较了解,但是真正遇到时依然打了我个措手不及.DDoS防御是一件比较繁琐的事,面对各种不同类型的攻击,防御方式也不尽相同.对于攻击来的 ...
- pycharm 的一个小问题
版本:PyCharm 2018.3.7 (Professional Edition) 这段时间用pycharm写python代码,运行网上copy的代码.报错了也就是少个模块或者Python2的语法在 ...
- Rootkit XSS
0x00 XSS Rootkit介绍 Rootkit概念: 一种特殊的恶意软件 类型: 常见为木马.后门等 特点: 隐蔽 持久控制 谈到XSS,一般都是想到 ...
- 对所有的webview添加userAgent
在appdelegate中- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDicti ...
- 五大Linux简单命令解决系统性能问题
五大Linux简单命令解决系统性能问题 2010-12-17 10:07 James Turnbull TechTarget中国 字号:T | T 管理Linux主机的性能看起来经常象是在变魔术一样. ...
- 【BZOJ 3681】Arietta
传送门 题目描述 Arietta 的命运与她的妹妹不同,在她的妹妹已经走进学院的时候,她仍然留在山村中. 但是她从未停止过和恋人 Velding 的书信往来.一天,她准备去探访他. 对着窗外的阳光,临 ...
- tf.stack( )和tf.unstack( )
相同点:他们都增加了矩阵的维度,而split()不改变维度! tf.stack()这是一个矩阵拼接的函数,tf.unstack()则是一个矩阵分解的函数 c是拼接,而d和e则是不同维度的分解