微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 从spring mvc中的ajax请求中检索包含名称值对的数组

我无法在Spring Controller中检索“值”.谁能解释我做错了什么?

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");
         },

      });

弹簧控制器

@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
}

解决方法:

似乎没有任何需要’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
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐