首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将jquery数据表中的参数作为HTTP请求的一部分传递给spring boot控制器

如何将jquery数据表中的参数作为HTTP请求的一部分传递给spring boot控制器
EN

Stack Overflow用户
提问于 2019-05-19 23:53:54
回答 1查看 106关注 0票数 0

我对web开发是个新手。我需要将HTTP请求中的参数从jquery datatable ajax调用传递到spring引导控制器。

目前,我正在URL中传递参数,但这是一个安全问题。所以我尝试在HTTP请求中传输。

这是我现在的jquery代码

代码语言:javascript
运行
复制
$("button#search").click(function() {
    var name = $("#name").val();
    var age = $("#age").val();
    var url = "/searchCustomer/search?name="+name+"&age="+age;
    $('#customerTable').DataTable({
    "type": "GET",
    "ajax": url,
    "cache": false,
    "bDestroy":true,
    "aLengthMenu": [20, 50, 70, 100],
    "columns":[
    {"data": "customerid" },
    {"data": "name"},
    {"data": "mobilenumber"},
    {"data": "status"},
    ],
    "language": {
    "lengthMenu": "| View _MENU_ records per page",
    "zeroRecords": "No matching records found",
    "infoEmpty": "No records available",
    "infoFiltered": "(filtered from _MAX_ total records)"
    },
    "pagingType": "full_numbers",
    });
});````

Java code:

````@RequestMapping(value = "/searchCustomer/search", method = RequestMethod.GET)   
代码语言:javascript
运行
复制
public @ResponseBody JSONObject getCustomers(@RequestParam(required = false) String name,@RequestParam(required = false) String age, Model model) {
代码语言:javascript
运行
复制
List<Map<String, Object>> list1 = new ArrayList<Map<String, Object>>();
代码语言:javascript
运行
复制
JSONObject ajson = new JSONObject();
代码语言:javascript
运行
复制
//Map<String, Object> map = new LinkedHashMap<String, Object>();
代码语言:javascript
运行
复制
//my logic here
代码语言:javascript
运行
复制
//list1.add(map);
代码语言:javascript
运行
复制
ajson.put("data", list1);
代码语言:javascript
运行
复制
retrun json;
代码语言:javascript
运行
复制
}````

我希望在Controller中从HTTP请求中获取参数。

代码语言:javascript
运行
复制
EN

回答 1

Stack Overflow用户

发布于 2019-05-20 00:48:48

根据您在注释中的请求,以下代码将实现您的目标。请注意对DataTables()使用了data参数。

代码语言:javascript
运行
复制
$("button#search").click(function() {
  $('#customerTable').DataTable({
    ajax: "/searchCustomer/search",
    data: {
      name: $("#name").val(),
      age: $("#age").val()
    }
    cache: false,
    bDestroy: true,
    aLengthMenu: [20, 50, 70, 100],
    columns: [{
        data: "customerid"
      },
      {
        data: "name"
      },
      {
        data: "mobilenumber"
      },
      {
        data: "status"
      },
    ],
    language: {
      lengthMenu: "| View _MENU_ records per page",
      zeroRecords: "No matching records found",
      infoEmpty: "No records available",
      infoFiltered: "(filtered from _MAX_ total records)"
    },
    pagingType: "full_numbers",
  });
});

就您的Java而言,您还没有提供足够的细节,但是按照使用Spring.io构建RESTful服务的Spring指南,解决方案很简单。您的控制器代码将如下所示:

代码语言:javascript
运行
复制
@PostMapping("/search")
  Customer search(@RequestBody SearchParams searchParams ) {
    return repository.findOne(searchParams);
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56209498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档