tengo dudas al implementar mvc con nodejs, no encontre mucha informacion
miren tengo mi ajax
<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
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
¿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.
npm install mysql
Después incluimos el driver en nuestro proyecto y realizamos operaciones:
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/
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?
Tambien podes hacer peticiones con http.get()
https://davidwalsh.name/nodejs-http-request
gracias ya pude solucionarlo, muchas gracias...
saludos