Java Spring:将列表从 Ajax 发送到控制器
Java Spring: send list from Ajax to Controller
我正在尝试发送一组
this Json data
在 JSP:
中使用此 Ajax 的数据
$.ajax({
url: 'agregarSeleccion',
type: 'POST',
dataType:'json',
data: JSON.stringify(lista),
success:function(dataP){
//Successs
error: function (jqXhr) {
swal("Error","","error");
}
});
到 Java(Spring 框架)中的这个控制器:
private List<Seleccion> seleccionados = new ArrayList<Seleccion>();
@RequestMapping("/agregarSeleccion")
@ResponseBody
public List<Seleccion> agregar(Seleccion obj) {
seleccionados.add(obj);
return seleccionados;
}
“Seleccion” 对象是一个实体,具有我从 Ajax 发送的 JSON 的一些属性,“seleccionados 是一个保存接收到的数组的列表,但是当我发送它时,obj 参数总是 return 一个空对象并且 Ajax 发送错误函数,我想问题是我正在将数组发送到 Object,但我不知道如何解决它
选择对象模型:
public class Seleccion {
private int idProducto;
private String nombre;
private double precio;
private int cantidad;
private double totalParcial;
//Getters and setters
}
尝试使用 ResponseEntity 并像下面的代码片段一样更新您的控制器;
测试数据
[
{
idProducto : 1,
nombre : 'Test1',
precio : 1.5,
cantidad : 1,
totalParcial : 2.5
}
]
你的Ajax(我把数据类型改回了json);
$.ajax({
url: 'agregarSeleccion',
type: 'POST',
contentType: "application/json",
data: JSON.stringify(lista),
success:function(dataP){
console.log(dataP);
},
error: function (jqXhr) {
swal("Error","","error");
}
});
你的控制器(注意变量也在方法外声明,添加了allAll方法来添加列表,改变了return最后输入)
List<Seleccion> seleccionados;
@RequestMapping("/agregarSeleccion")
public ResponseEntity<?> agregar(@Valid @RequestBody List<Seleccion> obj) {
seleccionados = new ArrayList<Seleccion>();
System.out.println("result"+ obj.toString());
seleccionados.addAll(obj);
return new ResponseEntity<>(seleccionados, HttpStatus.OK);
}
我正在尝试发送一组 this Json data 在 JSP:
中使用此 Ajax 的数据$.ajax({
url: 'agregarSeleccion',
type: 'POST',
dataType:'json',
data: JSON.stringify(lista),
success:function(dataP){
//Successs
error: function (jqXhr) {
swal("Error","","error");
}
});
到 Java(Spring 框架)中的这个控制器:
private List<Seleccion> seleccionados = new ArrayList<Seleccion>();
@RequestMapping("/agregarSeleccion")
@ResponseBody
public List<Seleccion> agregar(Seleccion obj) {
seleccionados.add(obj);
return seleccionados;
}
“Seleccion” 对象是一个实体,具有我从 Ajax 发送的 JSON 的一些属性,“seleccionados 是一个保存接收到的数组的列表,但是当我发送它时,obj 参数总是 return 一个空对象并且 Ajax 发送错误函数,我想问题是我正在将数组发送到 Object,但我不知道如何解决它
选择对象模型:
public class Seleccion {
private int idProducto;
private String nombre;
private double precio;
private int cantidad;
private double totalParcial;
//Getters and setters
}
尝试使用 ResponseEntity 并像下面的代码片段一样更新您的控制器;
测试数据
[
{
idProducto : 1,
nombre : 'Test1',
precio : 1.5,
cantidad : 1,
totalParcial : 2.5
}
]
你的Ajax(我把数据类型改回了json);
$.ajax({
url: 'agregarSeleccion',
type: 'POST',
contentType: "application/json",
data: JSON.stringify(lista),
success:function(dataP){
console.log(dataP);
},
error: function (jqXhr) {
swal("Error","","error");
}
});
你的控制器(注意变量也在方法外声明,添加了allAll方法来添加列表,改变了return最后输入)
List<Seleccion> seleccionados;
@RequestMapping("/agregarSeleccion")
public ResponseEntity<?> agregar(@Valid @RequestBody List<Seleccion> obj) {
seleccionados = new ArrayList<Seleccion>();
System.out.println("result"+ obj.toString());
seleccionados.addAll(obj);
return new ResponseEntity<>(seleccionados, HttpStatus.OK);
}