后端返回值以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 ...
随机推荐
- 2019年京东Java研发岗社招面经(面试经历+真题总结+经验分享)!
本篇先以日历形式回顾秋招之路,方便各位参考某厂的处理进度:然后是总结归纳春秋招Java面试题库:最后做个总结还有展望,开始新的征程~ 面试经历京东面试真题面试经验分享1.面试经历 2018年的冬季特别 ...
- Android ActionBar全然解析,使用官方推荐的最佳导航栏(上)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/18234477 本篇文章主要内容来自于Android Doc.我翻译之后又做了些加工 ...
- 整数划分 NBUT - 1046
题目很简单,把一个正整数分割成N个正整数之和.但是你得把所有的划分方法列出来,以字典序升序排序.对于每种划分方法,小的数字在前面. 思路:直接深度优先搜索,注意要判断前一位一定会比将要放入答案的因子小 ...
- P1387 最大正方形
2018-08-16 https://www.luogu.org/problemnew/show/P1387 题意: 略. 4 4 0 0 1 1 把这个翻译成dp的形式 0 0 1 1 ...
- windows下安装ElasticSearch 5
ElasticSearch简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用 ...
- day16 Python 内置函数 大体演示想看就看,会用就行
1.abs() 获取绝对值 a = -10 print(a.__abs__()) 结果: 10 2.all() 接收一个迭代器,如果跌电气的所有元素都为真,那么返回True,否则返回False tm ...
- Spring任务调度器之Task的使用(转)
文章转自 http://blog.csdn.net/l454822901/article/details/51829307 最近发现真的凹凸了,spring升级到3后原来已经自带任务调度器了,之前还一 ...
- nginx的server块如何支持php
直接贴代码,备份用 server { listen ; server_name abc.com; index index.html index.htm index.php; root /var/www ...
- 如何利用Skyline的TerraExplorer Pro 6.5提供的API接口实现矢量图层数据的动态投影
Skyline 支持国内常见的地图投影坐标系,包括WGS84.Beijing54.西安80.2000坐标系等,也可以自定义坐标系,比如一些做过参数变换加密的坐标系等. <!DOCTYPE htm ...
- Bootstrap动态轮播
一.前台界面 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEn ...