[英]Passing a list of strings in a Spring MVC controller using Jquery Ajax
[英]Spring MVC Ajax: Passing Empty Array to Ajax Controller
我有以下在接收非空数组时效果很好,
$.ajax({
url: "ajaxController",
dataType: "json",
type: "get",
data: {
'term': request.term,
'exclude': ["45","66"]
},
控制器(注意 RequestParam 值中的[]
-- 结果在 String[] 中):
public List<KeyValueBean> getChoices(String term,
@RequestParam(value = "exclude[]")
String[] exclude) {
}
但是,如果我在同一代码中传递一个空数组(有时会发生这种情况),它会中断:
'exclude': []
或者
'exclude': JSON.stringify([])
错误:
org.springframework.web.bind.MissingServletRequestParameterException: Required
String[] parameter 'exclude[]' is not present
如果你注意这个错误,它说你的请求参数exclude
不能为空。 如果您有时需要可以发送空数组,您可以通过这种方式将您的参数标记为可选(非必需):
@RequestParam(required = false, value = "exclude[]")
问题可能是因为您在传递名为“exclude”的对象时使用value="exclude[]"
传递了 @RequestParam。
所以,它实际上应该是:
public List<KeyValueBean> getChoices(String term,
@RequestParam(value = "exclude")
String[] exclude) {
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.