Jquery 向Spring MVC发送对象数组
我正在尝试向我的spring控制器发送一个对象数组Jquery 向Spring MVC发送对象数组,jquery,arrays,ajax,spring,Jquery,Arrays,Ajax,Spring,我正在尝试向我的spring控制器发送一个对象数组 var posting = $.post("<%=request.getContextPath()%>/submitArray.htm", {"ar[]": ar}); 首先,我用javascript声明一个数组 var ar = new Array(); 然后我创建一个带有名称和数量的对象 var obj = { name: "", qty: "" }; 用户在html页面的输入字段中输入一些数据。当他们单击“添加”按钮时,
var posting = $.post("<%=request.getContextPath()%>/submitArray.htm", {"ar[]": ar});
首先,我用javascript声明一个数组
var ar = new Array();
然后我创建一个带有名称和数量的对象
var obj = { name: "", qty: "" };
用户在html页面的输入字段中输入一些数据。当他们单击“添加”按钮时,这些数据将被放入对象中
obj = { name: $("#name").val(), qty: $("#qty").val() }
然后我将对象推入我创建的数组中
ar.push(obj);
现在我有了我想要发送到spring控制器的对象数组
var posting = $.post("<%=request.getContextPath()%>/submitArray.htm", {"ar[]": ar});
我确实得到了一个结果。这是一个对象数组,但我不知道如何从该对象获取名称或数量
我在调试器中打开了变量,它显示
[[object Object], [object Object]]
如何从对象获取名称和数量的值 创建一个java类来定义模型对象,即
public class Model {
private String name;
private Double qty;
//getter setter goes here
}
然后编写一个rest控制器,如下所示:
@RestController
public class MyController {
@PostMapping(value = "/submitArray", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
public ResponseEntity process(@RequestBody List<Model> modelList) {
for (Model model : modelList) {
System.out.println(model.getName());
System.out.println(model.getQty());
}
}
}
@RestController
公共类MyController{
@PostMapping(value=“/submitArray”,consumes=MediaType.APPLICATION\u JSON\u UTF8\u值)
公共响应性进程(@RequestBody List modelList){
对于(模型:模型列表){
System.out.println(model.getName());
System.out.println(model.getQty());
}
}
}
现在,将javascript数组发布到标题内容类型为“application/json”的控制器urlTry,而不是
@RequestParam
@31piy我尝试了$.post(“/submitArray.htm”,“ar[]”:ar})
和@RequestBody ReturnObject ar
我创建了一个ReturnObject类,它有两个变量私有字符串名;私有字符串数量代码>我得到415(不支持的媒体类型)发送请求后,在google chrome控制台中,我感谢您的反馈,但不幸的是,我正在使用Spring 3.0.6。以下注释无法从您的响应中获得@RestController@PostMapping consumes=MediaType.APPLICATION\u JSON\u UTF8\u VALUE
我们正在对我们的Spring框架进行一些升级。但是,我可以使用@RequestBody,并且在创建了一个与该对象匹配的类之后,我成功地发回了一个对象。我现在只需要弄清楚如何发回这些对象的数组或列表。您可以忽略它们,只需实现模型类并使用@RequestBody