【问题标题】:Spring MVC How to pass two parameters and return JSON array using ajaxSpring MVC如何使用ajax传递两个参数并返回JSON数组
【发布时间】:2021-04-15 14:57:22
【问题描述】:

这些是我要发送的字符串类型参数。
我必须向 DB 发送两个参数并使用它们来查询数据,并将数据作为 JSON 数组类型取回。
我的项目中也有 jackson-databind 库。

  var startDate = picker.startDate.format('YY-MM-DD');
  var endDate = picker.endDate.format('YY-MM-DD');

  var dates = { "startDate": startDate, "endDate": endDate };   


这是 Ajax 代码

        $.ajax({
            url: "selectCouponByTerm",
            type : "POST",
            data : dates,
            contentType : "application/json; charset=utf-8",
            success : function(data){
                dataTable.attr('data', JSON.stringify(data)).trigger("create");
                console.log(data);
            },
            error : function(e){
                console.log(e.status);
            }
        })

然后在控制器中,

  @PostMapping("/selectCouponByTerm")
  @ResponseBody
  public List<Coupon> selectCouponByTerm(@RequestBody String startDate,
                                         @RequestBody String endDate) {
      return "adminService.selectCouponByTerm(startDate, endDate)";
  }

它给了我Type mismatch: cannot convert from String to List&lt;Coupon&gt; 错误。

【问题讨论】:

    标签: ajax spring post


    【解决方案1】:

    从 return 语句中删除封闭的双引号

    【讨论】:

    • 现在显示adminService cannot be resolved。控制器无法识别服务接口。
    • adminService 是服务对象的引用,你需要在控制器中自动装配它,如果你是后端编码的新手,我建议检查其他控制器在你的代码库中是如何组织的,或者检查一些在线教程。
    • 我忘了自动连接服务。谢谢你:)
    猜你喜欢
    • 1970-01-01
    • 2012-07-11
    • 2012-06-06
    • 2016-08-25
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    相关资源
    最近更新 更多