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

936
Visualizações
Envíe datos desde node.js a la interfaz utilizando js puro

Estoy tratando de enviar un objeto con datos de un servidor Node.js a un archivo js (para usar estos datos en la interfaz).

En el archivo main.js estoy manipulando el DOM. hago el siguiente pedido:

 let dataName = []; let request = async ('http://localhost:3000/') => { const response = await fetch(url); const data = await response.json(); dataName = data.name; } let name = document.getElementById('name'); name.textContent = dataName;

Luego, en el archivo server.js tengo un objeto:

 data = [ { "id": 1, "name": "Jhon" }, { "id": 2, "name": "Mike" } ];

Y me gustaría enviarlo como cadena json (u otra forma) a main.js como respuesta a mi solicitud.

Problema: Mis datos se muestran en la ventana del navegador. ¿Cómo podría obtenerlo como respuesta?

Lo intenté

 let express = require('express'); let app = express(); app.use(express.static(`main`)); app.get('/', function(req, res){ res.json(data); //also tried to do it through .send, but there data only on window in browser }); app.listen(3000);

¿Alguien podría decirme qué cambiar en mi código o indicarme la dirección en la que buscar en Google? (No quiero usar motores de plantillas).

Ayúdenme por favor :) La paz esté con ustedes.

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

0

Creo que está tratando de servir su interfaz y los datos JSON en la misma URL / .

Debe ajustar su código de servidor de la siguiente manera:

 let express = require('express'); let app = express(); app.use(express.static(`main`)); app.get('/api', function(req, res){ res.json(data); //also tried to do it through .send, but there data only on window in browser }); app.listen(3000);

Ahora sus datos estarán disponibles como JSON desde /api . Luego puede hacer una solicitud en la interfaz de la siguiente manera:

 let dataName = []; let request = async () => { const response = await fetch('http://localhost:3000/api'); const data = await response.json(); dataName = data.name; } let name = document.getElementById('name'); name.textContent = dataName;

También hubo un problema con la url que no se definía correctamente como argumento. Ajusté la función para simplemente usar la cadena de URL en el lugar correcto.

over 4 years ago · Santiago Trujillo Relatório

0

Puede crear un servidor que pueda comunicarse usando la API REST

(Suponiendo que los datos son una cadena)

cliente:

 let data = getSomeDataYouWantToSend() fetch('/send', { method: 'POST', headers: { 'Content-Type': 'text/plain' }, body: data })

Suponiendo que tiene archivos estáticos en el directorio /main y archivos html en el directorio /views

servidor:

 let express = require('express') let app = express() app.use(express.static(`${__dirname}/main`)) app.set('views', `${__dirname}/views`) app.get('/', (req, res) => { res.render('index.html') }) app.post('/send', (req, res) => { console.log(req.body) // <- here is your data sent from client frontend }) app.listen(3000)
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