angularjs中post请求时, 参数列表不为form-data
当使用angularjs发送post请求时:
1 $http({ 2 method : "post", 3 url : "./account/add", 4 data : {name:"123",passwd:123} 5 })
后台springMVC接受不到参数
public String add(@RequestParam String name, @RequestParam String passwd) { }
因为angularjs发送post请求时参数列表类型是 Payload(可以通过chrome调试工具的network查看), 而后台想要接收参数的话, 参数列表的类型需为 Form data(用jquery发送post请求时就是该类型), 所以需要做如下调整
1 $http({ 2 method : "post", 3 url : "./account/add", 4 data : $.param(params), 5 headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'} 6 })