$.ajax({ type : 'POST',url : '<%=basePath %>user/getOrgRoles.do',data : {'orgId' : orgId},async: false,contentType: "application/json; charset=utf-8",dataType : 'json',success : function(data){ },error : function(XMLHttpRequest,textStatus,errorThrown) { } });
@ResponseBody @RequestMapping("/getOrgRoles") public Object getOrgRoles(@RequestParam(value = "orgId",required = true) String orgId) { List<TempUser> tempUserList = null; JSONObject jsonObjectFromMap = null; try { tempUserList = tempUserService.getOrgRole(Long.parseLong(orgId)); jsonObjectFromMap = JSONObject.fromObject(tempUserList); } catch (Exception e) { e.printStackTrace(); } return jsonObjectFromMap; }
问题出在:@RequestParam 不能接收 contentType : "application/json; charset=utf-8" 的请求。
如果后台必须要用@RequestParam,
前台2个地方必须改:
1、contentType 改为"application/x-www-form-urlencoded"
2、data: 改为{'orgId':orgId},