【问题标题】:Retrieve array containing name value pair from ajax request in spring mvc从spring mvc中的ajax请求中检索包含名称值对的数组
【发布时间】:2017-02-19 14:53:33
【问题描述】:

我无法在我的 Spring 控制器中检索“值”。谁能解释我做错了什么?

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
}

【问题讨论】:

    标签: java ajax spring model-view-controller


    【解决方案1】:

    似乎不需要 '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
    }
    

    【讨论】:

    • 感谢您的回复。我已经尝试过了,但我仍然在“System.out.println(objectValues.size());”处得到空异常在控制器中。
    • @dimley 如果您使用邮递员之类的工具尝试请求会发生什么
    • 用邮递员试过这个网址,看起来还可以。但是在服务器端出现同样的错误。这是我的网址:“localhost:8080/lic/…
    • 你能试试吗,数据:{'values': JSON.stringify(fields)}
    • 我试过了,但仍然遇到同样的错误。有没有其他方法可以将名称值对从 ajax 发送到控制器?
    猜你喜欢
    • 2021-09-28
    • 2015-08-08
    • 2014-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-11
    • 2019-05-01
    相关资源
    最近更新 更多