mvc con nodejs

Iniciado por .rn3w., 8 Septiembre 2016, 17:47 PM

0 Miembros y 1 Visitante están viendo este tema.

.rn3w.

tengo dudas al implementar mvc con nodejs, no encontre mucha informacion

miren tengo mi ajax
Código (javascript) [Seleccionar]


<html>
<head>
<title>jsonp test</title>
<script src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
<script type="text/javascript">
            $(function(){
                $('#select_link').click(function(e){
                    e.preventDefault();
                    console.log('select_link clicked');
                   
                     /*$.ajax({
                        dataType: 'jsonp',
                        data: "data=yeah",
                        jsonp: 'callback',
                        url: 'http://localhost:3000/endpoint?callback=?',
                        success: function(data) {
                            console.log('success');
                            console.log(JSON.stringify(data));
                        }
                    });*/
var data = {};
data.title = "title";
data.message = "message";

$.ajax({
type: 'POST',
data: JSON.stringify(data),
        contentType: 'application/json',
                        url: 'http://localhost:3000/endpoint',
                        success: function(data) {
                            console.log('success');
                            console.log(JSON.stringify(data));
                        }
                    });
/*$.ajax('http://localhost:3000/endpoint', {
        type: 'POST',
        data: JSON.stringify(data),
        contentType: 'application/json',
        success: function() { console.log('success');},
        error  : function() { console.log('error');}
});*/
                });
            });
        </script>
    </head>
    <body>
        <div id="select_div"><a href="#" id="select_link">Test</a></div>   
    </body>
</html>


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


Código (javascript) [Seleccionar]
var express = require('express');
var app = express.createServer();

app.use(express.bodyParser());


app.post('/endpoint', function(req, res){
var obj = {};
console.log('body: ' + JSON.stringify(req.body));

//como hago para mandar datos desde ajax a algun modelo???

});


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

Jeferi

¿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 (bash) [Seleccionar]
npm install mysql

Después incluimos el driver en nuestro proyecto y realizamos operaciones:
Código (javascript) [Seleccionar]
const mysql = require('mysql');
// import mysql from 'mysql';

// código

const connection = mysql.connect({});

// código

app.post('/endpoint', function(req, res){
var obj = {};
console.log('body: ' + JSON.stringify(req.body));

//como hago para mandar datos desde ajax a algun modelo???

  mysql.query("SELECT * FROM Table", function(rows){ // este código es un simple ejemplo, no es real ni funcional
    res.send(rows);
  });
});


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/

.rn3w.

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? 


[u]nsigned


No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!

.rn3w.

gracias ya pude solucionarlo, muchas gracias...

saludos