ajax如何传数组到后台

如果 JQuery 要往服务端传递一个数组参数,请求的方式如下

$.ajax({
    url : ${yourURL},
    data: {yourParam:[1,2,3,4]},
    success:function(data){
    }
});

或者:

$.ajax({
    url : ${yourURL},
    data: {"yourParam[]":[1,2,3,4]},
    success:function(data){
    }
});

前端传递参数这两种写法都可以,建议写成第二种,而服务端的接收参数对应起来。

那么在服务端的 Controller怎么接收这个参数?

@RequestMapping("/save")
public void save(@RequestParam(value="yourParam[]" String[] yourParam){
    // do Something...
}

注意: @RequestParam 一定要用数组的形式 “yourParam[]” 作为接收参数, 这样的话才能够正确的接收到前端传递的数组, 如果前端的数组为空,接收到的也是空串。 比如:前端传递的参数: data:{"yourParam[]":[null,null,null]} 那么服务端接收到的参数将会是 [“”,””,””] 无需担心空指针问题。

如果不用 “yourParam[]” 作为接收参数的话,将会发生莫名的错误。

<<< 捐赠 >>>

转载请注明出处! 原文地址: http://webinglin.github.io

留言

2015-11-01