简体   繁体   English

如何将ajax请求数据作为类发送到Spring mvc控制器?

[英]How to send ajax request data as a class to Spring mvc controller?

I am sending an AJAX request to a Spring MVC controller, like this:我正在向 Spring MVC 控制器发送 AJAX 请求,如下所示:

var filters = {
    visual: visual, 
    Name: params['Name'], 
    Address: params['Address'], 
    documentType: params['documentType'], 
    itemQualifier: getItemQualifier(),
    itemIdentifier: params['itemIdentifier'], 
    currency: getCurrency(), 
    sellSide: getSellSide()
};

$.ajax({                                                                    
    type: "POST",
    url: "/reports/savefilters",
    data: filters,
    success: function(response) {
        alert('filters saved successfully: ' + response);
    },
    error: function(e) {
        alert('Error while saving filters: ' + e.message);
    }
});
@RequestMapping(value = "/savefilters", method = RequestMethod.POST)
public @ResponseBody String saveFilters(@RequestParam("visual") String visual, @RequestParam(value = "Name[]", required = false) String[] Name, 
        @RequestParam(value = "Address[]", required = false) String[] Address, @RequestParam(value = "documentType[]", required = false) String[] documentType, 
        @RequestParam("itemQualifier") String itemQualifier, @RequestParam(value = "itemIdentifier[]", required = false) String[] itemIdentifier, @RequestParam("currency") String currency,
        @RequestParam("sellSide") String sellSide, HttpServletRequest request)
{
    try
    {
        System.out.println("saveFilters");
        new DisplayService().saveFilters("ID", visual, Name, Address, documentType, itemQualifier, itemIdentifier, currency, sellSide);
        return "success";
    }
    catch (Exception ex)
    {
        return "error occured while inserting/updating db";
    }
}

I want to pass all these arguments as a class instead of sending like this.我想将所有这些参数作为一个类传递,而不是像这样发送。

How can I pass as a class from an AJAX call and how do I receive it in the Spring MVC controller code?如何从 AJAX 调用中作为类传递,以及如何在 Spring MVC 控制器代码中接收它? Any suggestions please?请问有什么建议吗? Thanks.谢谢。

You can use the request object and using it you can get all the params as below. 您可以使用请求对象,并使用它可以获取以下所有参数。

public @ResponseBody String saveFilters(HttpServletRequest request){

String visual = request.getParameter("visual")

}

Just create a Java class matching to your Javascript variable, filters . 只需创建一个与您的Javascript变量filters相匹配的Java类即可。

public class Filters {
    private String name;
    private List<String> address;
    private List<String> documentType;
    private String itemQualifer;
    private String itemIdentifier;
    private String Currency;
    private String sellSide;

    // getters and setters must exists but I omitted for brevity.
}

MVC Controller: MVC控制器:

@RequestMapping(value = "/savefilters", method = RequestMethod.POST)
public @ResponseBody String saveFilters(Filters filters) {

}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Spring MVC Ajax请求在控制器类中未激活 - Spring MVC Ajax Request not active in controller class 无法将 ajax 发布请求发送到 spring mvc controller - Unable to send ajax post request to spring mvc controller 如何正确处理将数组发送到Spring MVC控制器方法的AJAX请求? 为什么它不起作用? - How to correctly handle this AJAX request that send an array to a Spring MVC controller method? Why it can't work? 带有json数据的Jquery ajax请求没有到达spring mvc控制器 - Jquery ajax request with json data is not reaching spring mvc controller 如何在Spring MVC中使用Ajax通过URL将数据发送到Home Controller? - How to send data over the URL to the Home Controller using ajax in Spring MVC? 如何在Spring MVC中将文件上传的ajax调用发送到控制器 - how to send ajax call of file upload to controller in spring MVC 如何将jQuery $ .ajax()发布请求中的模型发送到MVC控制器方法 - How to send a model in jQuery $.ajax() post request to MVC controller method 如何将AJAX数据从VIEW发送到CONTROLLER? (PHP(MVC)+ AJAX) - How to send AJAX data from VIEW to CONTROLLER? (PHP(MVC)+AJAX) 如何从Spring MVC控制器返回一个对象以响应AJAX请求? - How to return an object from a Spring MVC controller in response to AJAX request? 在Spring MVC应用程序的Controller中没有收到ajax请求? - Not receiving ajax request in the Controller in Spring MVC application?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM