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

253
Visualizações
el servidor devuelve una lista de tuplas a una solicitud de ajax, pero en el html necesito trabajar en él y html (datos) no proporciona una estructura adecuada

Me las arreglo para enviar la solicitud ajax al servidor, y el servidor responde con una lista de tuplas o también podría ser un diccionario, pero en el html que envió la solicitud, esta lista o dictado se convierte en una cadena y No puedo iterar o trabajar en él. Esto se debe a html (datos), pero no conozco ninguna otra variante que no sea texto (datos), pero eso no resuelve el problema. Entonces, una vez que envié esa lista o dictado, ¿cómo puedo trabajar en él (como hacer iteraciones)? Estoy usando DJANGO.

Simplifico el código porque esto es lo que importa, supongamos que ya tengo un diccionario que convierto en una lista: SERVIDOR (VER FUNCIÓN) DEVUELVE:

 dictionary = { "key1": "value1", "key2": "value2" } lista = list(dictionary.items()) return HttpResponse(lista)

Luego, de vuelta en el código html que envió la solicitud, este resultado no mantiene la naturaleza de la lista, pero parece una cadena

PÁGINA HTML:

 ... .. datatype:'html' }).done(function(data) { $("#received_answer").html(data); }); // closing ajax group console.log(value); }); // closing the click function });// closing document ready </script>

Obtengo esto: ('key1', 'value1')('key2', 'value2')

EDITADO: necesito tabular los resultados, así que algo como esto

 $("#respuesta").html("<h5>"+data.heating+"</h5>");

no ayudará, porque no puedo escribir cada celda y fila con comillas dobles, me gustaría que el conjunto de consultas de Django pueda recorrer.

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

0

Como observa, dictionary.items() devuelve tuplas, por lo que puede que no sea el mejor enfoque.

Puede usar un paso intermedio como convertir a JSON para pasar tales estructuras

en tu vista

 import json dictionary = { "key1": "value1", "key2": "value2" } json_dict = json.dumps(dictionary) return HttpResponse(json_dict)

y luego en su javascript, obtendrá una cadena mucho más parecida a javascript, que su código existente debería recoger. También puede analizar la respuesta de la cadena en un objeto js y usarla para recorrerla.

 .done(function(data) { ///in case we need to debug, we can have a look at what is in data console.log(data) obj = JSON.parse( data); tableHTML = "<table><thead><th>Header1</th><th>Header2</th></thead><tbody>" ///iterate through properties with string keys for (const property in obj) { tableHTML += "<tr><td>" tableHTML += `${property}</td></td> ${obj[property]}` tableHTML += "</td></tr>" } tableHTML += "</tbody></table>" //place the tableHTML in the document $("#respuesta").html("tableHTML);
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