请求例子:
$.ajax({ dataType:'json', url:"../rest/test", dataType:"JSON", async:false, type:"POST", contentType:"application/json", // data:JSON.stringify({"id":"1"}), //如果不添加 contentType:"application/json" 则data必须是json对象,应该是{"id":"1"} success : function(result){ console.log(result); if(result.successful){ alert("删除成功!"); getTableData(); }else{ alert("删除失败!"); } }, error:function(){ alert("删除失败!"); }
请求端:如果添加contentType:"application/json" ,则请求参数是json格式的字符串。如果不添加,入参是json对象。
接收端:
不添加添加contentType:"application/json":
方法一:
@RequestMapping(value = "/test", method = RequestMethod.POST) public @ItemResponseBody Object removeProject(HttpServletRequest request) { BufferedReader reader = null; String line = ""; String xmlString = null; try { reader = request.getReader(); StringBuffer inputString = new StringBuffer(); while ((line = reader.readLine()) != null) { inputString.append(line); } xmlString = inputString.toString(); } catch (Exception e) { // throw new YppException(PayException.xmlParseError); }
Map<String,Object> result = new HashMap<String, Object>(); result.put("result","succes"); return result; } 方法二:
@RequestMapping(value = "/test", method = RequestMethod.POST) public @ItemResponseBody Object editProject(@RequestBody Map map) { String id=map.get("id").toString(); Map<String,Object> result = new HashMap<String, Object>(); result.put("result","succes"); return result; }
添加添加contentType:"application/json":
@RequestMapping(value = "/test", method = RequestMethod.POST) public @ItemResponseBody Object getCommonValue(HttpServletRequest request) { String sspm = request.getParameter("id")==null?"":request.getParameter("id"); Map<String,Object> result = new HashMap<String, Object>(); result.put("result","success"); return result; }