后台以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 ...
随机推荐
- ubuntu编译安装swoole (存多版本php时)
一 切换php版本 见 https://www.cnblogs.com/bushuwei/p/11699503.html 二 编译安装swoole 这里对pecl安装不做介绍,以下是编译安装,复制 ...
- 真香系列之 Golang 升级
Golang 以前的依赖管理一直饱受诟病,社区的方案也层出不穷,比如 vendor, glide, godep 等.之前的依赖管理一直是依靠 GOPATH 或者将依赖代码下载到本地,这种方式都有劣势. ...
- window常见事件onload
1, window.onload 是窗口(页面)加载事件,当文档内容完全加载完成会触发该事件(包括图像,脚本文件,css文件等),就调用的处理函数 下面的代码,当点击按钮,并不会弹出对话框,因为页面还 ...
- C语言几种常用的排序算法
/* ============================================================================= 相关知识介绍(所有定义只为帮助读者理解 ...
- SpringMVC基础01——SpringMVC的知识结构体系
1.前言 目前在各大互联网公司使用最热门的技术莫过于SpringBoot以及在其基础之上的SpringCloud,然而学习这些技术的基础在于学好Spring和SpringMVC,准确来说SpringM ...
- Maven项目构建利器05——Maven的生命周期
Maven各个构建环节执行的顺序: 不能打乱顺序, 必须按照既定的正确顺序(编译,测试.打包.部署)来执行Maven的核心程序中定义了抽象的生命周期, 生命周期中各个阶段的具体任务是由插件来完成的,可 ...
- nginx的简单介绍
nginx简单介绍 Nginx的负载均衡策略可以分两大类:内置策略和扩展侧略: 内置策略包括:轮询,加权轮询,IP hash 扩展策略是:url hash ,fair nginx.conf文件结构 1 ...
- putty ssh常用命令小结
打开putty 输入VPS的IP地址输入root回车输入密码回车 vps 更改文件夹所属组 cd /home/vpsuser/domains/afish.cnblogs.com/ chown -R v ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(6)|变量绑定]
[易学易懂系列|rustlang语言|零基础|快速入门|(6)] 有意思的基础知识 变量绑定 我们现在回过头来看看,一些基础知识. 因为理解了前面的重要概念:所有权,借用,生命周期. 我们现在看基础知 ...
- Jmeter插件介绍
JMeterPlugin可以把JMeter生成的jtl文件做出很好的统计图,同时还支持机器的cpu.memory.swap.disk io和network的监控. 插件可分四类: 用于服务器性能监视的 ...