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 })

 

posted @ 2014-02-20 18:37  堂哥  阅读(1616)  评论(0编辑  收藏  举报