ajax 控制器返回数组,从浏览器中的javascript传递数组数据到使用ajax弹出mvc控制器...

Vivin Paliat..

32

你可以从JavaScript方面做到这一点:

$.ajax({

type : "POST",

url : "/myurl",

data : {

myArray: a //notice that "myArray" matches the value for @RequestParam

//on the Java side

},

success : function(response) {

// do something ...

},

error : function(e) {

alert('Error: ' + e);

}

});

然后在Java端(在Spring 3中),假设此方法通过以下方式映射/myurl:

public String controllerMethod(@RequestParam(value="myArray[]") Integer[] myArray){

....

}

我相信以下内容也会奏效:

public String controllerMethod(@RequestParam(value="myArray[]") List myArray){

....

}

Spring很聪明,可以弄清楚如何进行绑定.

对于多个阵列,您可能只想拥有一个命令对象:

public class MyData {

private List firstArray;

private List secondArray;

private List thirdArray;

...

...

}

然后在JavaScript方面:

$.ajax({

type : "POST",

url : "/myurl",

data : {

myData: {

"firstArray": firstArray,

"secondArray": secondArray,

"thirdArray": thirdArray

}

},

success : function(response) {

// do something ...

},

error : function(e) {

alert('Error: ' + e);

}

});

在Java端,您可以使用@ModelAttribute以下命令进行绑定:

public String controllerMethod(@ModelAttribute(value="myData") MyData myData) throws ParseException {

....

}

编辑

更改了@RequestParam注释以使用myArray[]而不仅仅是myArray,因为此更改似乎是在首次发布此答案后在Spring中进行的.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值