Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

291
Visualizações
Ajax envía un objeto JSON con dos matrices a un servlet y analiza en el servlet java sin jQuery

Tengo que enviar dos arreglos a un servlet, uso una llamada Ajax POST que envía un objeto JSON, y luego tengo que leer los datos enviados en dos listas o arreglos en una clase de servlet en Java. Prefiero no usar jQuery para llamadas Ajax. No estoy muy familiarizado con json, utilicé un código que se encuentra en stackoverflow y no puedo entender si hay un problema al enviar o analizar datos.

Este es el método para realizar la llamada Ajax en Javascript, donde cback es la función de devolución de llamada, method = "POST" y url es la url del servlet:

 function makeCall(method, url, from, to, cback) { var req = new XMLHttpRequest(); req.onreadystatechange = function() { cback(req) }; req.open(method, url); var obj = {}; obj["from"] = from; obj["to"] = to; var data = JSON.stringify(obj); req.send(data); }

Aquí está el método doPost en el controlador de servlet especificado por la url. Aquí es donde encontré el problema: después de hacer getParameter, las cadenas json1 y json2 son nulas:

 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //... String json1 = request.getParameter("from"); String json2 = request.getParameter("to"); Gson gson = new Gson(); ArrayList<Double> listFrom = gson.fromJson(json1, new TypeToken<ArrayList<Categoria>>() {}.getType()); ArrayList<Double> listTo = gson.fromJson(json2, new TypeToken<ArrayList<Double>>() {}.getType()); //... }

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Su ajax está enviando JSON pero su servidor está esperando datos de formulario, que tienen JSON.
Para enviar los datos como su servidor espera, codifique cada matriz en JSON y envíelos como datos de formulario

 function makeCall(method, url, from, to, cback) { var req = new XMLHttpRequest(); req.onreadystatechange = function() { cback(req) }; req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); req.open(method, url); var params = new URLSearchParams({to: JSON.stringify(to), from: JSON.stringify(from)}); req.send(params.toString()); }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda