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

标签 java ajax spring model-view-controller

我无法在我的 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");
         },

      });

Spring Controller

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

最佳答案

似乎不需要“发送”:“登录表单”,除非另一个请求参数在您的 Controller 中接受该值

尝试,

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

      });

你的 Controller 应该接受

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

关于java - 从spring mvc中的ajax请求中检索包含名称值对的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39970903/

相关文章:

java - 将单个字符重复到字符数组。设置数组的长度以匹配字符串所需的长度

java - sql-maven-plugin:清理多个数据库?

Java网络应用程序: High Heap Usage and Blocked Threads - at the same time

java - 使用 Ajax 的 RESTFul Web 服务

ajax调用的成功函数中未设置javascript类属性

java - 从辅助线程在主线程上调用带参数的方法

c# - 调用 ajax asp web 表单 (C#) visual Studio 2010

java - Spring 和工厂对象

java - Spring Boot 2 和 Spring 5 容器混淆

java - Spring - Quartz 不执行作业类