angularjs $http与springmvc @RequestBody

angularjs $http与jQuery ajax功能类似,但它不用担心参数中数组深度序列化的问题,故无需设置traditional属性

get:获取数据

                $http({
                    method:'get',
                    url:'/test',
                    params:$params
                }).then(function successCallback(result) {
                    //处理
                },function errorCallback(result){
                    //处理
                });

post:发送数据

                $http({
                    method:'post',
                    url:'/test',
                    data:$data
                }).then(function successCallback(result) {
                    //处理
                },function errorCallback(result){
                    //处理
                });

要注意参数params和data。

1.params是将要传递的数据放在了url后面,如:http://test?param1=1&param2=2&...&paramn=n。常用于get方法。

 2.data是将要传递的数据放在了body中。若后台是springmvc,需要添加@RequestBody才能接收到数据,如下所示:

    @ResponseBody
    @RequestMapping(value = "/post",method = RequestMethod.POST)
    public Msg test(@RequestBody Data data){ //Data data与data:$data相对应
        //逻辑处理
    }

@RequestBody可以解析请求体中的数据。

原文地址:https://www.cnblogs.com/xiehuazhen/p/9802444.html