Cómo hacer que el front-end de una aplicación web hable con el back-end (Node.js)


Esto no tiene casi nada que ver con Node.js específicamente. Su parte front-end habla con la parte Backend de las siguientes maneras (todas están definidas por el Protocolo HTTP)
– Envío de formulario (verbos GET y POST del protocolo HTTP)
– AJAX, puedes hacer llamadas usando jQuery. Sin embargo, tenga en cuenta que jQuery actúa solo como una capa abstracta además de la implementación del navegador de bajo nivel. Este Xeoncross / ajax.js puede ayudarlo a comprender un poco más sobre la implementación de nivel inferior.
– Websocket, tecnología bastante moderna (una parte de la iniciativa HTML5) WebSocket.org – Una comunidad WebSocket proporciona una forma avanzada de comunicación entre el cliente y el servidor, se adapta muy bien a la aplicación web y requiere capacidad en tiempo real.

Al final del día, cualquier servidor (incluido el servidor Node.js) debe definir claramente cómo manejar esas actividades. Por ejemplo, si llamo a esta URL, ¿cuál sería el comportamiento esperado del servidor?

Muchas maneras:

  • ¿Es una API RESTful? Luego, simplemente redirija a los usuarios a URL específicas con la solicitud HTTP adecuada
  • ¿Quieres “en tiempo real”? Sockets, solicitudes AJAX, etc.… eso sería todo.

Por ejemplo, supongamos que tengo una aplicación Python con la siguiente ruta

@app.route('/')
def index():
return render_template('index.html') @app.route('/image/')
return send_file(image, attachment_filename='%d.jpg' % imageID, mimetype='image/jpeg'), 200

@app.route('/')
def index():
return render_template('index.html') @app.route('/image/')
return send_file(image, attachment_filename='%d.jpg' % imageID, mimetype='image/jpeg'), 200

Luego, cuando llamo a http://subdomain.myapp.tld/ se http://subdomain.myapp.tld/ index() . Mientras que, si hago una solicitud a http://subdomain.myapp.tld/image/300 , devuelve una imagen. De esta manera, podría conectar el backend automáticamente. Puedo devolver JSON, imágenes, cualquier cosa bajo el sol, excepto un sándwich.

Hice esta pregunta, desde entonces he encontrado la siguiente publicación de blog que ha sido extremadamente útil:
Blog rodando con mongoDB, express y Node.js
Está un poco desactualizado, por lo que necesitarás jugar un poco, pero yo diría que eso se suma al aprendizaje

Http Request and Response debería hacerlo.
Luego, sobre la solicitud y respuesta Http, hay un pequeño concepto llamado REST que fomenta la apatridia como la arquitectura de respuesta de solicitud http. Le sugiero que investigue REST.