Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: bengy en 8 Septiembre 2016, 17:47 pm



Título: mvc con nodejs
Publicado por: bengy en 8 Septiembre 2016, 17:47 pm
tengo dudas al implementar mvc con nodejs, no encontre mucha informacion

miren tengo mi ajax
Código
  1.  
  2. <html>
  3. <head>
  4. <title>jsonp test</title>
  5. <script src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
  6. <script type="text/javascript">
  7.            $(function(){
  8.                $('#select_link').click(function(e){
  9.                    e.preventDefault();
  10.                    console.log('select_link clicked');
  11.  
  12.                     /*$.ajax({
  13.                         dataType: 'jsonp',
  14.                         data: "data=yeah",
  15.                         jsonp: 'callback',
  16.                         url: 'http://localhost:3000/endpoint?callback=?',
  17.                         success: function(data) {
  18.                             console.log('success');
  19.                             console.log(JSON.stringify(data));
  20.                         }
  21.                     });*/
  22. var data = {};
  23. data.title = "title";
  24. data.message = "message";
  25.  
  26. $.ajax({
  27. type: 'POST',
  28. data: JSON.stringify(data),
  29.        contentType: 'application/json',
  30.                        url: 'http://localhost:3000/endpoint',
  31.                        success: function(data) {
  32.                            console.log('success');
  33.                            console.log(JSON.stringify(data));
  34.                        }
  35.                    });
  36. /*$.ajax('http://localhost:3000/endpoint', {
  37.        type: 'POST',
  38.        data: JSON.stringify(data),
  39.        contentType: 'application/json',
  40.        success: function() { console.log('success');},
  41.        error  : function() { console.log('error');}
  42. });*/
  43.                });
  44.            });
  45.        </script>
  46.    </head>
  47.    <body>
  48.        <div id="select_div"><a href="#" id="select_link">Test</a></div>    
  49.    </body>
  50. </html>

el cual envio mediante post, ahora les muestro el server.js


Código
  1. var express = require('express');
  2. var app = express.createServer();
  3.  
  4. app.use(express.bodyParser());
  5.  
  6.  
  7. app.post('/endpoint', function(req, res){
  8. var obj = {};
  9. console.log('body: ' + JSON.stringify(req.body));
  10.  
  11. //como hago para mandar datos desde ajax a algun modelo???
  12.  
  13. });

me pueden dar algun ejemplo ? quiero trabajar con los datos obtenidos de ajax en algun modelo y luego mostrar el resultado, ayuda porfavor


Título: Re: mvc con nodejs
Publicado por: Jeferi en 8 Septiembre 2016, 20:43 pm
¿A qué te refieres con algún modelo?

SI te refieres a consultar una base de datos, sí que puedes consultar una base de datos. Para ello, debes instalar un driver en tu proyecto para la base de datos que te vayas a conectar.
Por ejemplo, para conectar a una base de datos MySQL, debes instalar el paquete npm mysql.

Código
  1. npm install mysql

Después incluimos el driver en nuestro proyecto y realizamos operaciones:
Código
  1. const mysql = require('mysql');
  2. // import mysql from 'mysql';
  3.  
  4. // código
  5.  
  6. const connection = mysql.connect({});
  7.  
  8. // código
  9.  
  10. app.post('/endpoint', function(req, res){
  11. var obj = {};
  12. console.log('body: ' + JSON.stringify(req.body));
  13.  
  14. //como hago para mandar datos desde ajax a algun modelo???
  15.  
  16.  mysql.query("SELECT * FROM Table", function(rows){ // este código es un simple ejemplo, no es real ni funcional
  17.    res.send(rows);
  18.  });
  19. });
  20.  

Cómo instalar el driver: https://www.npmjs.com/package/mysql#install
Un introducción a cómo usar el driver: https://www.npmjs.com/package/mysql#introduction
Para más información y la referencia completa a la API: https://www.npmjs.com/package/mysql

Para una base de datos que no sea MySQL, busca el driver: https://www.npmjs.com/


Título: Re: mvc con nodejs
Publicado por: bengy en 8 Septiembre 2016, 21:11 pm
gracias por responder, yo estuve tratando de hacerlo con el framework express.js pero creo que me estoy complicando mucho, prefiero hacerlo solo con node.js, me puedes mostrar o mandar algun ejemplo productivo para aprender como es la relacion de la bd + controller + vista? 



Título: Re: mvc con nodejs
Publicado por: [u]nsigned en 9 Septiembre 2016, 00:54 am
Tambien podes hacer peticiones con http.get()

https://davidwalsh.name/nodejs-http-request


Título: Re: mvc con nodejs
Publicado por: bengy en 9 Septiembre 2016, 05:23 am
gracias ya pude solucionarlo, muchas gracias...

saludos