Отправить карту сервлету с Ajax JSON - PullRequest
0 голосов
/ 25 мая 2018

Я создаю проект Tomcat, но мне нужно отправить карту JavaScript на сервлет.

Я пытался сделать это с JSON и Ajax.С простым массивом у меня нет проблем.Но когда я отправляю карту на стороне сервера, она печатает только «[Ljava.lang.String @» и ссылку.Но не содержимое.

Это мой код: моя карта называется ticket, и это ее структура:

ticket[id] = { nombre: nombre, precio:price,cantidad: 1 };

На стороне клиента я вызываю эту функцию для отправки этой карты черезAjax.

Сначала я преобразовываю карту в JSON:

var datos=JSON.stringify(ticket);

И отправляю запрос следующим образом:

$.ajax({
         url:"VentaProductos",
         type:"POST",
         dataType:'json',
         data: {datos},
         success:function(data){
         alert("OK")
            },
        });

И это на стороне сервера.Это внутри метода doPost ():

String[] myJsonData = request.getParameterValues("datos");
System.out.println("Servlet"+request.getParameterValues("datos").toString());
if(myJsonData!=null) {
    System.out.println("It works");
};

System.out.println печатает только "Servlet [Ljava.lang.String; @ 320aaecf" только ссылку.Как я могу решить это, чтобы получить содержимое этой карты?Спасибо

1 Ответ

0 голосов
/ 27 мая 2018

Я, наконец, изменил карту для многомерного массива, и она работает с этим:

На стороне клиента:

$.ajax({
        url:"VentaProductos",
        type:"POST",
        dataType:'json',
        success:function(data){
            // codes....
        },
        data: {json: JSON.stringify(multidimensionalarray)}
    });

И на стороне сервера:

String[] data = request.getParameterValues("json");

Iнадеюсь, что это может помочь кому-то в будущем :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...