后端返回值以json的格式返回,前端以json格式接收

以随便一个类为例子:这个例子是查询企业主营类别前5事项

(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);
        }
});
时间: 2024-10-12 07:58:17

后端返回值以json的格式返回,前端以json格式接收的相关文章

获取存储过程返回值及代码中获取返回值

获取存储过程返回值及代码中获取返回值 1.OUPUT参数返回值例: 向Order表插入一条记录,返回其标识 CREATE PROCEDURE [dbo].[nb_order_insert](@o_buyerid int ,@o_id bigint OUTPUT)ASBEGINSET NOCOUNT ON;BEGININSERT INTO [Order](o_buyerid )VALUES (@o_buyerid )SET @o_id = @@IDENTITYENDEND 存储过程中获得方法: D

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

如图检测到函数返回值总是a jQuery ajax 得到返回值 方案1:通过js回调函数获取返回值 方案2: 添加代码: async: false, 1.ajax默认是异步调用的,所以得到的返回值是空值,要得到值必须改成同步:async: false,//同步. 2.必须定义一个全局变量 var result = ""来保存返回值.否则得到的是undefined function GetReturnValue(url, jsonText) { var result = "&q

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

'*************************************************************************'**模 块 名:工程1 - Form1'**说    明:蓝凤凰设计商城 浴火凤凰-郭卫 | 蓝凤凰-魔灵 | 郭卫-icecept'**创 建 人:浴火凤凰-郭卫'**日    期:2015年10月19日  21:53:17'**修 改 人:浴火凤凰-郭卫'**日    期:'**描    述:QQ:493405998 | 微信\旺旺:icece

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

1.activity的生命周期 这七个方法定义了Activity的完整生命周期.实现这些方法可以帮助我们监视其中的三个嵌套生命周期循环: (1)Activity的完整生命周期 自第一次调用onCreate()开始,直到调用onDestory()为止.Activity在onCreate()中设置所有“全局”状态以完成初始化. 而在onDestory()中释放所有系统资源.例如,如果Activity有一个线程在后台运行从网络下载数据,它会在onCreate()创建线程, 而在onDestory()销

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

1.获取shell函数调用的返回值: #!/bin/sh info() { cat jlb.sh } res=`info` echo "state: "$? echo "res: "${res} 说明:res=`info`这一行为调用函数info,里面的符号`不是单引號,而是Esc按键以下的那个.另外$?返回的为上一条命令的运行状态,不是返回值. 2.获取shell命令的返回值,原理同上,比如: #!/bin/sh info=`cat jlb.sh` echo &q

如何获取shell函数的返回值及shell命令的返回值?

1.获取shell函数调用的返回值: #!/bin/sh info() { cat jlb.sh } res=`info` echo "state: "$? echo "res: "${res} 说明:res=`info`这一行为调用函数info,里面的符合`不是单引号,而是Esc按键下面的那个,另外$?返回的为上一条命令的执行状态,不是返回值: 2.获取shell命令的返回值,原理同上,例如: #!/bin/sh info=`cat jlb.sh` echo &q

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

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

mybatis insert、update 、delete默认返回值解释与如何设置返回表主键

在使用mybatis做持久层时,insert.update.delete,sql语句默认是不返回被操作记录主键的,而是返回被操作记录条数: 那么如果想要得到被操作记录的主键,可以通过下面的配置方式获取. 针对Sequence主键而言,在执行insert sql前必须指定一个主键值给要插入的记录,如Oracle.DB2,可以采用如下配置方式: <insert id="save" parameterType="user"> <selectKey res

js 写带有返回值的function遇到的返回值不正常的情况

背景:使用layui上传文件,在上传成功后的回调函数中调用另一个js函数(validateFormIndexExist(filePath)验证上传文件根目录下是否包含index.html文件),validateFormIndexExist(filePath)需要返回布尔值 编码实现: 1 <!DOCTYPE html> 2 <html> 3 <meta charset="utf-8"> 4 <link href="/layui-v2.

commons.net ftp 循环调用listFiles()返回值只有第一次正常,以后返回空的FTPFile数组

用retrieveFileStream(fileName)方法 读取一堆由特定规则生成的文件名的文件,根据文件名循环. 读取文件之前先用listFiles(fileName)方法 判断一下该文件是否存在. 结果循环中第一次判断文件存在,以后的每次循环都判断为不存在.. 上网查了一下说是  retrieveFileStream(fileName)方法返回一个inputStream 使用完inputStream后 需要关闭该is, 并且在关闭之后要调用一下completePendingCommand