2013-05-14 2 views
1

Я хочу отправить карту через запрос ajax, но я получаю 400 плохих запросов. Мои данные.Отправка карты <String, List <String>> как параметр запроса через ajax

var idss1 = []; 
var idss2 = []; 
var idss3 = []; 
var idss4 = []; 
var idss5 = []; 


    map[id_1] = idss1; 
    map[id_2] = idss2; 
    map[id_3] = idss3; 
    map[id_4] = idss4; 
    map[id_5] = idss5; 

wehre все ключи (id_ *) являются строка

Ajax вызов

$.ajax({ 
     type:"POST", 
     url: myurl, 
     dataType: "text", 
     data : {allIds : map}, 
     success: function(response) {...} 

на стороне сервера мой метод подписи

public void myMethod(HttpServletRequest request, @RequestParam("allIds") Map<String, List<String>> ids) { 
... 
} 

Пожалуйста, помогите мне, я должны быть благодарны.

+1

Вы можете составить список JSON и отправить? Должно ли это быть 'dataType:" text "'? – NINCOMPOOP

+0

Я хочу отправить его как карту, а не список. Как я могу использовать список json вместо карты, можете ли вы любезно помочь? – Shahzeb

+1

Итак, вы можете отправить JSON карту, есть много учебников, чтобы сделать это в сети !!! – NINCOMPOOP

ответ

0

1) У вас никогда не должно быть имен переменных в программе, единственной разницей которой является число. Для этого нужны массивы. Именами элементов массива являются myArr [0], myArr [1] и т. Д.

2) В java вы можете выполнять так называемую «сериализацию» объекта. Сериализация преобразует объект в строку, и строка может быть отправлена ​​в ajax-запросе, а затем строка может быть неэтериализована в вашем сервлете, чтобы создать объект из строки.

Сериализация в строку: How to binary (de)serialize object into/form string?

Смежные вопросы