加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

前台返回json数据的常用方式+常用的AJAX请求后台数据方式

发布时间:2020-12-15 07:15:40 所属栏目:Java 来源:网络整理
导读:我个人开发常用的如下所示: 之所以像下面这样下,一是前台Ajax,二是为安卓提供接口数据 现在常用的是返回JSON数据,XML的时代一去不复返 JSON相对于XML要轻量级的多 对JSON不是十分熟悉的可参考此网站:http://www.w3school.com.cn/json/index.asp 对Ajax不

我个人开发常用的如下所示:

之所以像下面这样下,一是前台Ajax,二是为安卓提供接口数据

现在常用的是返回JSON数据,XML的时代一去不复返

JSON相对于XML要轻量级的多

对JSON不是十分熟悉的可参考此网站:http://www.w3school.com.cn/json/index.asp

对Ajax不是十分熟悉的可参考此网站:http://www.w3school.com.cn/ajax/index.asp

?

下面例子环境为:JDK8+tomcat7+MAVEN+WINDOWS环境

框架环境为:Spring+Mybatis+SpringMVC

?

第一种方式:

@RequestMapping(value = "/getUserInfo2",method = RequestMethod.POST,produces = "application/json;charset=utf-8")
    @ResponseBody
    public String getUserInfo(String User_No,Model model) {

        User user = userService.findUserInfo(User_No);

        if (user != null) {

            Map<String,User> map = new HashMap<String,User>();

            map.put("user",user);

            model.addAttribute("user"return JSON.toJSONString(map);

        } else {

            String msg = "{"returnMsg":"不存在"}";

            Map<String,Object> returnMsg = JSON.parSEObject(msg);

             JSON.toJSONString(returnMsg);
        }

    }
    

?

第二种方式:

    @RequestMapping(value="getHeadHotelIdInfo",method=RequestMethod.POST,produces="application/json;charset=utf-8" String getHeadHotelIdInfo(HttpServletRequest request) {
                
        String ids = request.getParameter("id");
        
        Integer id = new Integer(ids);
        
        Map<String,Object> map = ();
        
        HeadHotel hh = headHotelService.selectById(id);
        
        map.put("hh" JSONObject.toJSONString(map);
        
        
        
    }

?

第三种方式:

    @RequestMapping(value="/deleteHeadHotelInfo",1)"> Object deleteHeadHotelInfo(HttpServletRequest request) {
            
        JSONObject json =  JSONObject();
        String ids = request.getParameter("id");
        logger.info(ids);
        Integer id =  Integer(ids);
        HeadHotel hh = headHotelService.selectById(id);
        
        try {
            
            int lines = hotelChainService.TreeSelectHotelChainSize(hh.getNo());
            
            if(lines==0) {
                headHotelService.deleteHeadHotelInfo(id);
        
            
                json.put("returnCode","000000");
                json.put("returnMsg","删除集团公司成功");
                logger.info("删除成功");
                
            } {
                
                
                json.put("returnCode","存在子酒店不能删除");
                logger.info("删除失败");
                
            }
            
            
            
        } catch (Exception e) {
            e.printStackTrace();
       
            json.put("returnCode","222221");
            json.put("returnMsg","删除集团公司失败");
            logger.error("删除失败");

        }
         json;
    }

?

第四种方式:

	@RequestMapping(value="removePermission",produces="application/json;charset=utf-8")
	@ResponseBody
	public Object removePermission(@RequestBody QueryVo qv,HttpServletRequest request,Model model) {
		JSONObject json = new JSONObject();
	
		Integer id[] = qv.getId();
		
		int size=java.lang.reflect.Array.getLength(qv.getId());
		logger.info("ID数量:"+size);  
		try {
			for (int i = 0; i < id.length; i++) {
				RoleResource rr = new RoleResource();
				rr.setId(id[i]);
				logger.info("ID:"+id[i]);
				List<RoleResource> rs = new ArrayList<RoleResource>();
				rs.add(rr);
				roleResourceService.removeRoleResourceStatus(rs);
			
			}
			
			json.put("returnCode","000000");
			json.put("returnMsg","权限修改成功");
			logger.info("权限修改成功");
			
		} catch (Exception e) {
			json.put("returnCode","权限修改失败");
			logger.error("权限修改失败");
			
		}

		return json;
		
	   

	}
	

?

结合QueryVO:

package cn.pms.vo;

import java.util.List;

 cn.pms.model.AccountCoupon;
/**
 * 多参数传递定义QueryVo
 * @author youcong
 *
 */
public class QueryVo{

    private List<AccountCoupon> acs;

    String[] memberId;
    
    private String couponId;
    
    /*
     * 角色编号
     */
    String[] roleNo;
    
    
     * 资源编号
     
    String[] resourceNo;
    
    
     * 角色-资源 ID
     * @return
     
    Integer id[];


     Integer[] getId() {
         id;
    }

    void setId(Integer[] id) {
        this.id = String[] getRoleNo() {
         roleNo;
    }

     setRoleNo(String[] roleNo) {
        this.roleNo = String[] getResourceNo() {
         resourceNo;
    }

     setResourceNo(String[] resourceNo) {
        this.resourceNo = String[] getMemberId() {
         memberId;
    }

     setMemberId(String[] memberId) {
        this.memberId = String getCouponId() {
         couponId;
    }

     setCouponId(String couponId) {
        this.couponId = couponId;
    }


    public List<AccountCoupon> getAcs() {
         acs;
    }

    void setAcs(List<AccountCoupon> acs) {
        this.acs = acs;
    }
    
}

?

第五种方式:

@RequestMapping(value = "/updateVersion",1)"> String updateHeadHotel(@RequestBody AppVersion appVersion) {

        Map<String,1)">();
            logger.info(appVersion);
         {
            logger.info("APP名字:"+appVersion.getAppName());
            // 调用数据库修改操作
            appVersion.setUpdateTime(Tools.getCurrentDate());
            appVersion.setServerFlag("1");
            appVersionService.updateById(appVersion);
            map.put("returnCode",1)">);
            map.put("message","成功更新版本信息");
        
        } (Exception e) {
             TODO: handle exception
            map.put("returnCode","更新版本信息失败");
        
        }
        
         JSONObject.toJSONString(map);
    }

?

第六种方式:

@RequestMapping(value="/delectHotel",1)">public Map<Object,1)"> delectHotel(HttpServletRequest request) {
        
        Map<Object,1)">new HashMap<Object,1)">();
        
        String id = request.getParameter("id");
        logger.info("delectHotel  ===== id : " + id);
        System.out.println("delectHotel  ===== id : " + id);
        String hotelNo = request.getParameter("hotelNo");
        logger.info("delectHotel  ===== hotelNo : " + hotelNo);
        System.out.println("delectHotel  ===== hotelNo : " + hotelNo);
        
         {
            
            List<Room> room_list = roomService.selectRoomByHotelNo(hotelNo.trim());
            System.out.println("delectHotel  =====  room_list : " + room_list);
            如果集合不为空,说明该酒店关联有房间,不允许删除
            if(room_list != ) {
                map.put("returnMsg","该酒店关联有房间,不允许删除!");
                map.put("returnCode","121212");
                 map;
            }
            
            hotelService.deleteHotelById(Integer.parseInt(id.trim()));
            成功
            map.put("returnCode",1)">);
            map.put("returnMsg","success");
        }  (Exception e) {
            e.printStackTrace();
            失败
            map.put("returnCode","失败");
        }
        logger.info("map = " + map);
         map;
    }

?

第七种方式:

    @RequestMapping(value="/getServiceId",1)"> Object getServiceId(HttpServletRequest request) {
        
        Map<Object,1)">();
        
        JSONObject json =  JSONObject();
        
        logger.info("省     ================ " +  request.getParameter("province"));
        logger.info("市     ================ " +  request.getParameter("cityname"));
        
    
        
        String city = request.getParameter("province");
        String address = request.getParameter("cityname");
        
        map.put("city" {
            调用数据库查询操作
            List<YuntuBase> yun_list = yuntuBaseService.selectYuntuBase(map);
            logger.info("yun_list.size() : " + yun_list.size());
            成功
            json.put("yun_list");
             json;
        } 插入数据库失败,返回失败码
            json.put("returnCode","保存失败" json;
        }
        
    }

?

第八种方式:

@RequestMapping(value="/selMessageById",1)"> Object selMessageById(HttpServletRequest request) {
        
        AJAXResult result =  AJAXResult();
        
        String id = request.getParameter("id");
        logger.info("id  = " + {
            
            Message message = messageService.selMessageById(Integer.parseInt(id.trim()));
            
            result.setData(message);
            result.setSuccess(true);
            result.setReturnCode("000000");
            result.setReturnMsg("success");
            
        } 查询数据库失败,返回失败码
            result.setSuccess(false);
            result.setReturnCode("222221");
            result.setReturnMsg("系统异常");
            logger.error("result = " + result);
             result;
        }
        
         result;
    
    }
    

?

AJAXResul代码如下:

?

 cn.pms.model;

 java.util.Map;

 AJAXResult {
    
    private boolean success;
    
    返回码
     String returnCode;
    
    返回信息
     String returnMsg;
    
    返回数据
     Object data;
    
    数据
     Object datas;
    
    private Map<Object,1)"> map;
    
    
     isSuccess() {
         success;
    }
    void setSuccess( success) {
        this.success = String getReturnCode() {
         returnCode;
    }
     setReturnCode(String returnCode) {
        this.returnCode = String getReturnMsg() {
         returnMsg;
    }
     setReturnMsg(String returnMsg) {
        this.returnMsg = Object getData() {
         data;
    }
     setData(Object data) {
        this.data = Object getDatas() {
         datas;
    }
     setDatas(Object datas) {
        this.datas = getMap() {
         map;
    }
    void setMap(Map<Object,1)"> map) {
        this.map = map;
    }
    
    
}

?

?

常用AJAX请求后台数据的几种方式:

第一种:

   var id = getQueryParam("id");
    var zt = getQueryParam("zt");
    var hotelNo = getQueryParam("hotelNo");
    alert("id = " + id + "zt = " + zt);
    $.post("/ssm_pms/selectRoomById"if(result.returnCode == "000000" && result.returnMsg == "success"){
            
            $("#RoomNo").val(result.room.roomNo);
            $("#Status").val(result.room.roomStatus);
        }{
            alert("connection error");
        }
        
    });

?

第二种:

 var data = {
        floor : name,hotel_no : "88"
    }
    
    $.ajax({
        url : "/ssm_pms/addFloor"){
                window.location.href = "";
                closeWin();
                alert("添加成功");
            }else if(result.returnCode == "101011" && result.returnMsg == "重复,请重新输入"){
                alert("重复,请重新输入"{
                showTips(3,'Name',data.State.Errkey);
                alert("添加失败");
            }
        }
    });

Ajax的get不常用,通常$.ajax够用了,有的时候常用的也就$.post,不过目前用的最多的还是$.ajax

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读