jq ajax通过post json对象
遇到的HTTP 415/400问题错误解决方案:http://www.linuxidc.com/Linux/2014-04/99928.htm
客户端:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script type="text/javascript" src="<%=basePath%>resources/scripts/jquery-2.0.3.min.js"></script> <script type="text/javascript"> $(function(){ $("#send").click(function(){ var jsondata = $("#jsondata").val(); var jsonobj = JSON.parse(jsondata) var callback = function (data) { $("#result").html(JSON.stringify(data)) } $.postJSON(‘<%=basePath%>api/user/test‘, jsonobj, callback) }); }) $.postJSON = function(url, data, callback) { return jQuery.ajax({ ‘type‘ : ‘POST‘, ‘url‘ : url, ‘contentType‘ : ‘application/json‘, ‘data‘ : JSON.stringify(data), ‘dataType‘ : ‘json‘, ‘success‘ : callback }); }; </script> </head> <body> JSON对象 <br> <textarea id="jsondata" cols="60" rows="5"> {"id":2,"gender":0,"mobile":"15072370640","password":"123456","accessToken":"fd6bf3dd3cca4b0ca7c9099447994dba"} </textarea><br> <button id="send">POST</button><br> <font color="red" id="result"></font> </body> </html>
spring mvc 服务端:
@RequestMapping(value="/test",method=RequestMethod.POST) public @ResponseBody Map<String, Object> testPostJson( @RequestBody UserForm userForm, BindingResult bindingResult) { Map<String, Object> map = new HashMap<String, Object>(); if (bindingResult.hasErrors()) { map.put("errorCode", "40001"); map.put("errorMsg", bindingResult.getFieldError().getDefaultMessage()); } map.put("user", userForm); return map; }
测试:
结果
{"user":{"name":null,"id":2,"password":"123456","avatar":null,"gender":0,"mobile":"15072370640","accessToken":"fd6bf3dd3cca4b0ca7c9099447994dba"}}
spring mvc @RequestBody接受post json对象
时间: 2024-10-05 04:17:24