简体   繁体   中英

How to pass array in jquery ajax call and how to receive same from spring mvc controller

I am calling spring mvc controller method using jquery ajax.

jquery ajax call:

    var filters = {KPI : visual, partnerName: params['partnerName'], itemQualifier: getItemQualifier(), currency : getCurrency(), sellSide: getSellSide()};

$.ajax({                                                                    
 type: "POST",
 url: "/reports/savefilters",
 data: filters,
 success: function(response){
     alert('success: ' + response);
 },
 error: function(e){
    alert('Error: ' + e.message);
 }
});

Spring mvc code:

 @RequestMapping(value="/savefilters",method=RequestMethod.POST)
 public void saveFilters(@RequestParam("KPI") String KPI,    @RequestParam("partnerName") String partnerName,
    @RequestParam("itemQualifier") String itemQualifier, @RequestParam("currency") String currency, 
    @RequestParam("sellSide") String sellSide){
           System.out.println("saveFilters");
}

Its working fine without "@RequestParam("partnerName") String partnerName" parameter.

Here "params['partnerName']" values are like abc,def,ghi.

Am I not sending data properly to controller??? Any suggestions how to make it work???. Thanks...

Change

@RequestParam("partnerName") String partnerName

to

@RequestParam(value = "partnerName[]", required = false) String[] partnerName

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM