我无法从Angularjs&post;请求获取数据

时间:2016-04-21 05:49:33

标签: angularjs spring-mvc

js文件中的

代码:我尝试将数组数据发送到SpingMVC

todelSome: function (targetArr) {

        var args = {"arr": targetArr};
        var url = "toDelSome.req";

        return $http({
            method: 'POST',
            data: args,
            url: url
        }).success(function (response, status, headers, config) {


            return response;
            console.log(response);


        }).error(function (response, status, headers, config) {

            alert(status + response);

        });

    }"

这是我的SpringMVC代码:

@ResponseBody
@RequestMapping("toDelSome")
public String toDelSome(@RequestParam("arr[]") Integer[] arr) {

    System.out.println(arr);

    return "";
}

以下是控制台日志: enter image description here enter image description here

如何从Angularjs'请求获取数组数据?

3 个答案:

答案 0 :(得分:0)

试试这个

 @ResponseBody
 @RequestMapping("toDelSome")
 public String toDelSome(@RequestParam("arr") Integer[] arr) {

 System.out.println(arr);

 return "";
}

答案 1 :(得分:0)

长远来看,创建一个带数组的类,变量名应该是arr:

public class MockClass{
     Object[] arr;
     public Object[] getArr() { return arr;} 
     public void setArr(Object[] arr) { this.arr = arr;} 
} 

data:{"arr": targetArr} 

如果RequestBody不起作用,请将@RequestParam更改为@RequestBody MockClass mock或尝试@ModelAttribute

答案 2 :(得分:0)

  

尝试

js文件中的代码

todelSome = function(targetArr) {
        var args = {arr : targetArr};
        var url = "toDelSome";

        $http.post(url, args).then( function(data, status, headers) {

            return data;
            console.log(data);

        }, function(error) {

            alert(error);

        });
    };

控制器中的代码

@ResponseBody
@RequestMapping("toDelSome")
public String toDelSome(@RequestBody Integer[] arr) {

    System.out.println(arr);

    return "";
}