以随便一个类为例子:这个例子是查询企业主营类别前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. 写一方法用来计算1+2+3+...n,其中n作为参数输入,返回值可以由方法名返回,也可以由参数返回

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  2. C++ 需要返回值的函数却没有返回值的情况 单例模式

    昨天在看前些天写的代码,发现一个错误. #include <iostream> using namespace std; class singleton { public: static ...

  3. JAVAEE——SpringMVC第二天:高级参数绑定、@RequestMapping、方法返回值、异常处理、图片上传、Json交互、实现RESTful、拦截器

    1. 课前回顾 https://www.cnblogs.com/xieyupeng/p/9093661.html 2. 课程计划 1.高级参数绑定 a) 数组类型的参数绑定 b) List类型的绑定 ...

  4. (转)函数中使用 ajax 异步 同步 返回值错误 主函数显示返回值总是undefined -- ajax使用总结

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAloAAAE0CAIAAAB7LwoKAAAgAElEQVR4nO2dy6sc152A6+/R2mXwSn ...

  5. 测试函数用Return 返回值和用函数名返回值的区别

    '*************************************************************************'**模 块 名:工程1 - Form1'**说   ...

  6. 无废话Android之activity的生命周期、activity的启动模式、activity横竖屏切换的生命周期、开启新的activity获取他的返回值、利用广播实现ip拨号、短信接收广播、短信监听器(6)

    1.activity的生命周期 这七个方法定义了Activity的完整生命周期.实现这些方法可以帮助我们监视其中的三个嵌套生命周期循环: (1)Activity的完整生命周期 自第一次调用onCrea ...

  7. 怎样获取shell函数的返回值及shell命令的返回值?

    1.获取shell函数调用的返回值: #!/bin/sh info() { cat jlb.sh } res=`info` echo "state: "$? echo " ...

  8. ForkJoin有参无返回值、有参有返回值实例

    介绍: a . Fork/Join为JKD1.7引入,适用于对大量数据进行拆分成多个小任务进行计算的框架,最后把所有小任务的结果汇总合并得到最终的结果 b . 相关类 public abstract ...

  9. 使用JavaScriptSerializer序列化集合、字典、数组、DataTable为JSON字符串 分类: 前端 数据格式 JSON 2014-10-30 14:08 169人阅读 评论(0) 收藏

    一.JSON简介 JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式. JSON是"名值对"的集合.结构由大 ...

  10. 20170313 ABAP以jason 格式返回值到http(接口内容返回)

     问题1: 返回jason 格式信息给你们这步不通, 这个可以怎么处理, ***得到SCP 系统开发回复,他们需要调整方法: (1)调用函数做RETURN, IT_ZSMLSCPNOTICE-FUNC ...

随机推荐

  1. VS Code 快捷键使用小技巧

    相关文档 官方文档(英文版):Documentation for Visual Studio Code 中文文档(未完成):GitHub - jeasonstudio/CN-VScode-Docs: ...

  2. Python3.6安装及引入Requests库

    本博客可能没有那么规范,环境之类的配置.只是让你直接开始编程写python. 至于各种配置网络上有多种方法. 本文仅代表我的观点的一种方法. 电脑环境:win10 64位 第一步:下载python. ...

  3. swift class的虚函数表

    class NSObjectBase: NSObject { func Msg_Normal(){ } func Msg_Second(){} func Msg_Third(){} @objc fun ...

  4. butter

    题目描述 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖.把糖放在一片牧场上,他知道N(1<=N<=500)只奶牛会过来舔它,这样就能做出能卖好价钱的超甜黄油.当然,他将付出额外的费 ...

  5. P3265 [JLOI2015]装备购买(高斯消元+贪心,线性代数)

    题意; 有n个装备,每个装备有m个属性,每件装备的价值为cost. 小哥,为了省钱,如果第j个装备的属性可以由其他准备组合而来.比如 每个装备属性表示为, b1, b2.......bm . 它可以由 ...

  6. oracle dataguard主从切换

    前言: 众所周知DataGuard一般的切换分成两种,一种是系统正常的情况下的切换这种方式为:switchover是无损切换,不会丢失数据:另外一种方式属于灾难情况下的切换,这种情况下一般主库已经启动 ...

  7. oracle 索引扫描类型的分类与构造

    1. INDEX RANGE SCAN--请记住这个INDEX RANGE SCAN扫描方式drop table t purge;create table t as select * from dba ...

  8. 9-51单片机ESP8266学习-AT指令(单片机采集温湿度数据通过8266发送给AndroidTCP客户端显示)

    http://www.cnblogs.com/yangfengwu/p/8798512.html 补充:今天答应了一个朋友写一下如果单片机发过的是字符串应该怎么解析,答应了今天写,哦哦哦是明天了,闲话 ...

  9. ASP.NET Core中获取完整的URL(转载)

    在之前的ASP.NET中,可以通过 Request.Url.AbsoluteUri 获取,但在ASP.NET Core没有这个实现,请问如何获取呢?方法一:先引用“using Microsoft.As ...

  10. webstorm破解汉化

    一.下载webstorm软件和汉化包 webstorm安装包下载链接 : 链接: https://pan.baidu.com/s/1VmOPNVL2GRgAb_0tAJhy8A 密码: am7e 汉化 ...