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

116
Visualizações
Tomando la entrada del formulario, recuperando datos de la base de datos y mostrando la salida

Estoy trabajando con nodejs, express y mongodb. Y estoy trabajando en cloud9 IDE

Quiero crear una página con un formulario que tome la entrada del usuario, busque los datos correspondientes de la base de datos y muestre esos datos en la misma página (después de recargar), y si los datos no están presentes, muestre una respuesta específica.

esto es lo que he hecho-

Ruta-

 app.get("/",function(req,res){ var asked = req.query.asked; Name.findOne({name:asked},function(err,foundAsked){ if(err){console.log("ERROR!!!");} else{res.render("Landing.ejs",{foundAsked:foundAsked}); } }); });

archivo EJS-

 //Form takes name as input from the user <form > <input type="text" name="asked" action="/" method="GET"> <button class="button">Submit</button> </form> //If data is found last name is returned <% if(foundAsked){ %> <h2 > <%= foundAsked.Lastname %> </h2> <% } %> //blank space stays there which is replaced by a response,if after //submission nothing is found <% if(!foundAsked){ %> <h5></h5> <% } %>

JS-

 $(".button").click(function(){ $("h5").text("No data present"); });

Pero el problema es que, si no se encuentran datos, se muestra la respuesta, pero permanece solo el tiempo antes de que la página se vuelva a cargar. Intenté buscar una respuesta, pero no encontré ninguna. Por favor, ayuda.

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

0

El texto que desea que se muestre aparecerá solo después de hacer clic en el button y, una vez recargado, tendrá que hacer clic nuevamente (y el clic mostrará el texto y activará una recarga, por lo que el texto desaparecerá nuevamente).

Debe tener otro botón (que no se envíe) para activar este mensaje. O más bien, ¿por qué no mostrarlo inicialmente (poner esto en línea, dentro de las etiquetas <h5> )?

Debe diferenciar entre 'sin datos' o 'sin consulta'. puedes hacerlo en el back-end, algo similar a esto:

 app.get("/",function(req,res){ var asked = req.query.asked; Name.findOne({name:asked},function(err,foundAsked){ if(err){console.log("ERROR!!!");} else{res.render("Landing.ejs",{foundAsked:foundAsked, asked: asked}); } }); });

Y luego en Landing.ejs :

 <% if(!foundAsked && asked){ %> <h5>No data present</h5> <% } %>
about 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