后端返回值以json的格式返回,前端以json格式接收
以随便一个类为例子:这个例子是查询企业主营类别前5事项
一、以json数组的格式返回到前端中
(1)后端将结果绑定到param中,然后将结果以为json数组的格式返回到前端
/**
* 查询企业主营类别前5事项
* @param request
* @param response
* @param config
* @throws Exception
* @author hongxy
* 2017年6月1日下午2:21:14
*/
public void getEnterpriseMainCategory(HttpServletRequest request,
HttpServletResponse response, ServletConfig config) throws Exception {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
Map param = new HashMap();
PrintWriter wirte = null;
//获得企业名称
String custName = RequestUtil.getString(request, "companyName");
//判断企业名称是否为空
if (StringUtils.isBlank(custName)) {
param.put("status", "400");
param.put("desc", "企业名称为空!");
} else {
workService = new WorkServiceImpl();
//查询是否存在该企业
Map enterpriseInfo = workService.getEnterpriseInfoByCustName(custName);
//不存在该企业
if (enterpriseInfo == null) {
param.put("status", "400");
param.put("desc", "企业名称不存在!");
} else {//存在该企业,查询企业主营类别前5事项
//根据企业名称查询出该企业近一年的已办事项
String approveTypeList = workService.getEnterpriseWorksInfoByCustName(custName);
//根据行业类别查询企业名称
String custNameListByIndustry = workService.getEnterpriseNameByIndustry((String) enterpriseInfo.get("INDUSTRY"));
//查询企业主营类别前5事项
List mainProjectList = workService.getApproveInfoList(custNameListByIndustry,approveTypeList);
param.put("status", "200");
param.put("desc", "处理成功");
param.put("data", mainProjectList);
}
}
//声明JSONArray对象并输入JSON字符串
JSONArray array = JSONArray.fromObject(param);
wirte = response.getWriter();
wirte.print(array);
}
(2)前端先将接受到的数据转换成json格式,不然就不能获取里面的值了,因为Ajax返回的值默认是字符串类型
将接收到的值转换成json格式的核心代码:(具体的取值可以输出到前端控制台,这样方便取值)
var msg=jQuery.parseJSON(msg);
$.ajax({
url: '${path.appMain}?service=work&func=getEnterpriseMainCategory',
async: false,
type: 'POST',
data: {
companyName:companyName
},
success: function(msg){
var msg=jQuery.parseJSON(msg);
var mainProjectList = "";
mainProjectList +="<li>与您的“主营项目类别”相同的企业,办理最多的事项有:</li>"
for (var i = 0; i < msg[0].data.length; i++) {
mainProjectList += "<li><a href='javascript:void(0);'>"+
(i+1) + "." + msg[0].data[i].approveName +
"</a></li>";
}
$('#mainProjectList').html(mainProjectList);
}
});
二、以json的格式返回到前端中(常用)
(1)后端将结果绑定到data中,然后将结果以为json的格式返回到前端
/**
* 查询企业主营类别前5事项
* @param request
* @param response
* @param config
* @throws Exception
* @author hongxy
* 2017年6月1日下午2:21:14
*/
public void getEnterpriseMainCategory(HttpServletRequest request,
HttpServletResponse response, ServletConfig config) throws Exception {
request.setCharacterEncoding("UTF-8");
JSONObject json = new JSONObject();
Map param = new HashMap();
//获得企业名称
String custName = RequestUtil.getString(request, "companyName");
//判断企业名称是否为空
if (StringUtils.isBlank(custName)) {
json.put("status", "400");
json.put("desc", "企业名称为空!");
} else {
workService = new WorkServiceImpl();
//查询是否存在该企业
Map enterpriseInfo = workService.getEnterpriseInfoByCustName(custName);
//不存在该企业
if (enterpriseInfo == null) {
json.put("status", "400");
json.put("desc", "企业名称不存在!");
} else {//存在该企业,查询企业主营类别前5事项
//根据企业名称查询出该企业近一年的已办事项
String approveTypeList = workService.getEnterpriseWorksInfoByCustName(custName);
//根据行业类别查询企业名称
String custNameListByIndustry = workService.getEnterpriseNameByIndustry((String) enterpriseInfo.get("INDUSTRY"));
//查询企业主营类别前5事项
List mainProjectList = workService.getApproveInfoList(custNameListByIndustry,approveTypeList);
json.put("status", "200");
json.put("desc", "处理成功");
json.put("data", mainProjectList);
}
}
// 响应请求
SysInfo.responseJsonMsg(response, json.toString());
}
(2)前端接收json数据并在前端进行显示
$.ajax({
url: '${path.appMain}?service=work&func=getEnterpriseMainCategory',
async: false,
type: 'POST',
data: {
companyName:companyName
},
success: function(msg){
var mainProjectList = "";
mainProjectList +="<li>与您的“主营项目类别”相同的企业,办理最多的事项有:</li>"
if(msg.data.length == 0){
mainProjectList += "<li>查找不到相关的事项!</li>";
} else{
for (var i = 0; i < msg.data.length; i++) {
mainProjectList += "<li><a href='javascript:void(0);'>"+
(i+1) + "." + msg.data[i].approveName +
"</a></li>";
}
}
$('#mainProjectList').html(mainProjectList);
}
});
后端返回值以json的格式返回,前端以json格式接收的更多相关文章
- 写一方法用来计算1+2+3+...n,其中n作为参数输入,返回值可以由方法名返回,也可以由参数返回
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- C++ 需要返回值的函数却没有返回值的情况 单例模式
昨天在看前些天写的代码,发现一个错误. #include <iostream> using namespace std; class singleton { public: static ...
- JAVAEE——SpringMVC第二天:高级参数绑定、@RequestMapping、方法返回值、异常处理、图片上传、Json交互、实现RESTful、拦截器
1. 课前回顾 https://www.cnblogs.com/xieyupeng/p/9093661.html 2. 课程计划 1.高级参数绑定 a) 数组类型的参数绑定 b) List类型的绑定 ...
- (转)函数中使用 ajax 异步 同步 返回值错误 主函数显示返回值总是undefined -- ajax使用总结
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAloAAAE0CAIAAAB7LwoKAAAgAElEQVR4nO2dy6sc152A6+/R2mXwSn ...
- 测试函数用Return 返回值和用函数名返回值的区别
'*************************************************************************'**模 块 名:工程1 - Form1'**说 ...
- 无废话Android之activity的生命周期、activity的启动模式、activity横竖屏切换的生命周期、开启新的activity获取他的返回值、利用广播实现ip拨号、短信接收广播、短信监听器(6)
1.activity的生命周期 这七个方法定义了Activity的完整生命周期.实现这些方法可以帮助我们监视其中的三个嵌套生命周期循环: (1)Activity的完整生命周期 自第一次调用onCrea ...
- 怎样获取shell函数的返回值及shell命令的返回值?
1.获取shell函数调用的返回值: #!/bin/sh info() { cat jlb.sh } res=`info` echo "state: "$? echo " ...
- ForkJoin有参无返回值、有参有返回值实例
介绍: a . Fork/Join为JKD1.7引入,适用于对大量数据进行拆分成多个小任务进行计算的框架,最后把所有小任务的结果汇总合并得到最终的结果 b . 相关类 public abstract ...
- 使用JavaScriptSerializer序列化集合、字典、数组、DataTable为JSON字符串 分类: 前端 数据格式 JSON 2014-10-30 14:08 169人阅读 评论(0) 收藏
一.JSON简介 JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式. JSON是"名值对"的集合.结构由大 ...
- 20170313 ABAP以jason 格式返回值到http(接口内容返回)
问题1: 返回jason 格式信息给你们这步不通, 这个可以怎么处理, ***得到SCP 系统开发回复,他们需要调整方法: (1)调用函数做RETURN, IT_ZSMLSCPNOTICE-FUNC ...
随机推荐
- 【原创】Linux常用命令记录
1. 查看网络状态分布 #!/bin/sh netstat -apn >/dev/ \ | awk 'BEGIN {printf("%-15s%-15s%-15s%-15s\n&quo ...
- Java面试之五大框架的理解
五大框架(springMVC,struts2,spring,mybatis,hibernate) 说说你对springMVC框架的理解? 简要口述(如果感觉说的少可以在完整答案里面挑几条说) Spri ...
- Android实践--apk反编译
版权声明:本文为博主原创文章.转载请注明出处. https://blog.csdn.net/ysjian_pingcx/article/details/25468867 Android apk反编译一 ...
- 手把手实战:eclipse 搭建 SpringMvc 框架环境
环境准备 eclipse jdk1.8 tomcat 7 步骤总纲 a.准备好开发环境 b.下载相关jar包 c.在eclipse 中创建好工程 d.引进下载的ja ...
- wifi 安卓手机
通过wifi向服务器端发送数据 https://www.cnblogs.com/zhaoxinshanwei/p/3573813.html http://www.hx-wl.com.cn/51wifi ...
- 马哥Python视频
链接:https://pan.baidu.com/s/1KMXqdXlaIjZ3OaZ-PUwE9A 密码私聊我
- Linux Sysstat性能监控工具安装及常见8个命令使用例子
Sysstat,一种常用在Linux系统服务器中的软件工具包,可以用来监控服务器的性能.比如可以监控CPU.硬盘.网络等数据,我们可以用来进行分析服务器的性能和资源的使用效率.老左将在这篇文章中学习. ...
- Keil5 如何安装STM32 芯片包
http://www.keil.com/dd2/Pack/ 从该网址下载 相应芯片的PACK 包
- java 面向对象内部类
1.内部类概念:将一个类定义在另一个类的内部,该类就称为内部类 类中定义的内部类特点1) 内部类作为外部类的成员,可以直接访问外部类的成员(包括 private 成员),反之则不行.2) 内部类做为外 ...
- SkylineGlobe MFC C++ 开发示例代码
SkylineGlobe的SDK底层是跨平台的C++内核,面向不同平台封装原生的API,具有很高的执行效率, 下面是C++二次开发时的示例代码: #import "D:\Program Fi ...