前台返回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 ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- K8S基于ingress-nginx实现灰度发布
- java – 使用xmlelement defaultvalue注释指定默认值的简单
- Java使用JDBC连接MYSQL数据库增删改查示例
- 利用HttpUrlConnection 上传 接收文件的实现方法
- 我们可以拒绝序列化的java对象,而不是给出transient关键字
- Java用 Rhino/Nashorn 代替第三方 JSON 转换库
- Spring queryForObject方法:查询的结果以对象类型返回
- java – 有一个聪明的方式来写一个固定长度的平面文件?
- 获取真正的文件扩展名-Java代码
- Java_Comparable,Comparator两接口区别