我无法在Spring Controller中检索'values'。谁能解释我做错了什么?
Ajax请求
fields[fieldID] = { 'name': fieldName, 'value': fieldValue };
fieldID++;
$.ajax({ url: '/lic/register.html',
data: { 'send': 'login-form', 'values': fields},
type: 'get',
complete : function(){
alert(this.url)
},
success: function( output ) {
alert("success");
},
});
Spring控制器
@RequestMapping(value="/register.html", method = RequestMethod.GET)
@ResponseBody
public String suckRegister(HttpServletRequest request,HttpServletResponse response,@RequestParam(value="values", required=false) String[] objectValues) {
System.out.println(objectValues.length); // returning null
}
答案 0 :(得分:0)
似乎不需要'send':'login-form',除非另一个请求参数在你的控制器中接受该值
尝试,
$.ajax({ url: '/lic/register.html',
data: { 'values': fields},
type: 'get',
dataType: "json",
contentType: "application/json",
complete : function(){
alert(this.url)
},
success: function( output ) {
alert("success");
},
});
你的控制器应该接受
@RequestMapping(value="/register.html", method = RequestMethod.GET)
@ResponseBody
public String suckRegister(HttpServletRequest request,HttpServletResponse response,@RequestParam(value="values[]", required=false) Object[] objectValues) {
System.out.println(objectValues.length); // returning null
}