当前位置: 首页 > 知识库问答 >
问题:

Java Spring:将列表从Ajax发送到控制器

陈嘉荣
2023-03-14
$.ajax({
        url:  'agregarSeleccion',
        type: 'POST',
        dataType:'json',
        data: JSON.stringify(lista),
        success:function(dataP){
            //Successs
        error: function (jqXhr) { 
            swal("Error","","error");
        }
   });  
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参数总是返回一个空对象,Ajax发送错误函数,我认为问题是我在向对象发送数组,但我不知道如何解决它

选择对象模型:

public class Seleccion {
    private int idProducto;
    private String nombre;
    private double precio;
    private int cantidad;
    private double totalParcial;
   //Getters and setters
}

共有1个答案

殷承恩
2023-03-14

尝试使用ResponseEntity并更新您的controller,如下段所示;

测试数据

[
{
    idProducto : 1,
    nombre : 'Test1',
    precio : 1.5,
    cantidad : 1,
    totalParcial : 2.5
}
]

您的Ajax(我将数据类型改回了json);

$.ajax({
        url:  'agregarSeleccion',
        type: 'POST',
        dataType:'json',
        data: JSON.stringify(lista),
        success:function(dataP){
            //Successs
        error: function (jqXhr) { 
            swal("Error","","error");
        }
   });
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);
    
}
 类似资料:
  • 我在将对象列表从Thymeleaf保存到控制器时遇到了一个大问题。thymeleaf中的对象列表由Jquery生成。但我不知道如何将数据传输到控制器,对象列表不知道大小。因为用户可以随时添加它。请帮助我将thymeleaf中的列表对象发送给控制器。 我创建了一个具有1个属性的新类:ArrayList loaiDoans;“LoaiDoan”是我想要保存的对象。使用该类是将列表“loaidon”从t

  • 我试图在Joomla组件中构建我的第一个jSON表单提交。 从Joomla控制器发送超文本标记语言响应是否有任何特殊的编码或条件? 我使用的是2.5 Joomla MVC。以下是一些测试/观察结果- 1) 表单提交和响应已单独测试,并按预期工作。我有一个separarate PHP文件,它被提交到一个服务器端PHP文件,该文件接受jSON数据并发送一个HTML响应,客户端根据响应进行正确更新。 2

  • 我的视图中有一个向控制器发送对象的表单,但问题是,如果我发送的对象超过256个,就会出现异常: 所以我在想为什么会有这样的限制,于是我找到了这个话题:https://stackoverflow.com/a/24699008/4173394 但它似乎对我不起作用(可能是我的一个坏习惯)。 下面是我的结构:我的视图名为createUpdate.vm,并像这样发布我的表单: 我在FollowerFile

  • 我是百里香菜鸟。我试图创建一个简单的crud应用程序。我试图在删除按钮上删除客户类的对象。我如何使用百里香叶为调用deleteUser的方法设置参数(例如- id)。这是我的控制器。 以下是我的看法。

  • 我有窗体和相应的控制器,对象列表被传递给它们。 实体类: 控制器: 形式: 我假设表单中的百里叶th:each循环变量不能是th:object=${ent2}(因为如果我这样做,select form返回null)。而th:value="${ent2.name}返回字符串值。所以我不得不将@RequestParam(th:value)发送给“save”方法。但是在这种情况下,我必须对数据库进行额外

  • 单击下面我调用的ajax函数代码按钮继续预订 路线 控制器