前端AngularJS的POST请求,后端SpringMVC接收数据的小坑
2017-06-01 13:02
447 查看
前端AngularJS的POST请求,后端SpringMVC接收数据的小坑
使用AngularJS的$http进行POST请求,默认的Content-type为application/json; charset=UTF-8
为了让SpringMVC的Controller能够接收到数据,进行POST请求时的Content-type应修改为
application/x-www-form-urlencoded; charset=UTF-8
具体示例代码如下
var formdata = { "username" : $scope.username, "truename" : $scope.truename }; $http({ method : 'post', url : url, data : formdata, headers:{'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'}, transformRequest: function(obj) { var str = []; for(var p in obj){ str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p])); } return str.join("&"); } }). success(function(response){ console.log("success"); console.log(response); }). error(function(response){ console.log("error"); console.log(response); });
AngularJS默认POST配置看这里
也可以使用jquery代替AngularJS的$http进行请求
具体示例代码如下
var formdata = { "username" : $scope.username, "truename" : $scope.truename }; $.ajax({ url : url, type : "POST", data : formdata, dataType : "json", timeout : 10000, success : function (data) { console.log(data); }, error : function (data) { console.log(data); }, });
这样处理的话,SpringMVC的controller按照常规方式接受数据就好了,可以通过HttpServletRequest接受了
@RequestMapping(value="/back_register",method=RequestMethod.POST) public void register(User user, HttpServletRequest request, HttpServletResponse response) { System.out.println(user); String username = request.getParameter("username"); String truename = request.getParameter("truename"); System.out.println("username: " + username); System.out.println("truename: " + truename); }
相关文章推荐
- axios发送post请求,springMVC接收不到数据问题
- axios发送post请求,springMVC接收不到数据问题
- 解决SpringMVC接收不到axios发送post请求的数据问题
- axios的post请求发送数据,后端接收不到
- 提高生产力:SpringMVC中,使用扩展数据类型TypedMap接收Web请求参数
- angular的post请求,SpringMVC后台接收不到参数值的解决方案
- AngularJs中$http发送post或者get请求,SpringMVC后台接收不到参数值的解决办法
- node.js系列(实例):原生node.js实现接收前台post请求提交数据
- 后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法
- 【前端知识点】前后端关于post请求中,对body的不同数据格式的解决处理方案实现
- angular的post请求,SpringMVC后台接收不到参数值的解决方案
- 后端接收不到AngularJs中$http.post发送的数据的问题
- 解决SpringMvc限定请求方法POST推送数据出现的中文乱码问题
- 解决angular的post请求后SpringMVC后台接收不到参数值问题的方法
- HttpURLConnection post请求 数据接收
- 提高生产力:SpringMVC中,使用扩展数据类型TypedMap接收Web请求参数
- 提高生产力:SpringMVC中,使用扩展数据类型TypedMap接收Web请求参数
- SpringMVC Controller接收前台ajax的GET或POST请求返回各种参数
- AngularJs的$http发送POST请求,php无法接收Post的数据解决方案
- SpringMVC Controller接收前台ajax的GET或POST请求返回各种参数