viernes, 26 de junio de 2020

Ajax desde nodeJS con angular

Ajax desde nodeJS con angular 

Instalamos el paquete jQuery
npm install jquery

Creamos la siguiente ruta
 
var express = require('express');
var router = express.Router();
router.get('/', function(req, res, next) {
var listausuarios = ['juan','pedro','maria','antonio','luis'];
res.send({
usuarios : listausuarios //Envia datos en formato JSON
});

});
module.exports = router;

En el modulo creamos una lista de usuarios y enviamos la respuesta como JSON

Insertamos en el modulo principal que use la ruta:
app.use('/ajax',ajax);

Si estamos en localhost nuesta ruta de peticion de datos es:
http://localhost:4200/ajax


Creamos un archivo llamado index.html:
 
<html ng-app="prueba">
<head>
<meta http-equiv="Content-type" content="text/html">
<title>Ejemplo angular</title>
<script src="./viewsfiles/javascripts/miSriptNavegador.js"></script>
</head>
<body>
<button id="boton" name="boton">Pulsar</button>
<div ng-controller="controlador as c">
<div ng-show="c.getMostrar()">
<div ng-repeat="dato in c.usuarios">
{{dato}}
</div>
</div>
</div>
</body>
</html>

Donde insertamos el script:
<script src="./viewsfiles/javascripts/miSriptNavegador.js"></script>

Creamos un archivo llamado miScript.js:  
 
var angular = require('angular');
var $ = require('jquery');
(function () {
var app = angular.module('prueba', []);
var lista=null;
app.controller('controlador',function($scope, $http) {
var lista = this;
this.usuarios=[];
this.getMostrar = function () {
return true;
};
$("button#boton").click(function(){
$http.get('/ajax')
.then(function successCallback(res) {
lista.usuarios = res.data.usuarios;
})
});
});
})();



Donde el controlador tiene una variable lista que tiene los siguientes objetos:
 
var lista = this;
        this.usuarios=[];
        this.getMostrar = function () {                       
           return true;
        };   
     
Al hacer onclick en el boton del html 
 
  $http.get('/ajax')
              .then(function successCallback(res) {                    
                  lista.usuarios = res.data.usuarios;                    
              })                 
          });

Asigna los datos leidos en lista.usuarios.

Ejecutamos el comando siguiente para adaptar el modulo a nodeJS:
 
npm run browser




Ajax desde nodeJS

Ajax desde nodeJS

Es una tecnica de desarrollo web donde las aplicaciones se ejecutan en el navegador, sirve para realizar cambios sobre las paginas sin recargarlas, donde los datos se piden al servidor y se cargan en segundo plano.


Instalamos el paquete jQuery
 
npm install jquery

Creamos la siguiente ruta
 
var express = require('express');
var router = express.Router();
router.get('/', function(req, res, next) {
var listausuarios = ['juan','pedro','maria','antonio','luis'];
res.send({
usuarios : listausuarios //Envia datos en formato JSON
});

});
module.exports = router;

En el modulo creamos una lista de usuarios y enviamos la respuesta como JSON

Insertamos en el modulo principal que use la rutas:
 
app.get('/',function(req,res,next){
res.render('index.html');
});
 
app.use('/ajax',ajax);

Si estamos en localhost nuesta ruta de peticion de datos es:
 
http://localhost:4200/ajax


Creamos un archivo llamado index.html:
 
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="./viewsfiles/javascripts/miSriptNavegador.js"></script>
</head>
<body>
<button id="boton" name="boton">Pulsar</button>
<div id="div">

</div>
</body>
</html>

Donde insertamos el script: 
 
<script src="./viewsfiles/javascripts/miSriptNavegador.js"></script>

Creamos un archivo llamado miScript.js en la carpeta principal del proyecto:  
 
var $ = require('jquery');
var $boton = null;
$(document).ready(function () {
$boton = $('button#boton');
$boton.click(function(){
console.log('pulsado');
$.ajax({
url: '/ajax', //pide el formato JSON a la url
success: function(respuesta) { //Se ejecuta la funcion si ha habido exito
var listaUsuarios = $("#div");
//datos del JSON
$.each(respuesta.usuarios, function(index, elemento) { //Para cada elemento
listaUsuarios.append(
'<div>'
+ '<p>' + elemento + '</p>'
+ '</div>'
);
});
},
error: function() {
console.log("No se ha podido obtener la información");
}
});
});
});

Verificamos que tengamos lo siguiente puesto en el script de package.json:
 
"browser": " browserify miScript.js -o viewsfiles/javascripts/miSriptNavegador.js"

Ejecutamos el comando siguiente para adaptar el modulo a nodeJS:
 
npm run browser
 
Donde el método  $.ajax()  tiene la siguiente sintaxis:
 
$.ajax(url, { parametros de ejecución } );


Los parametros son los siguientes:
  • type : Tipo de la petición, GET o POST, get es el tiene por defecto
  • url : Url de la peticion.
  • data : Datos que se envian al servidor.
  • dataType : Tipo de datos que se obtienen del servidor.
  • success : Si hay éxito se ejecuta la función.
  • error : Si no hay éxito se ejecuta la función.

JQuery desde nodeJS

JQuery desde nodeJS

Instalamos el paquete jQuery:
 
npm install jquery

Creamos un archivo llamado miScript.js:  
 
var $ = require('jquery');
var $boton = null;
$(document).ready(function () {
$boton = $('button#boton');
$boton.click(function(){
console.log('pulsado');
});
});

Creamos un archivo llamado index.html:
 
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="./viewsfiles/javascripts/miSriptNavegador.js"></script>
</head>
<body>
<button id="boton" name="boton">Pulsar</button>
</body>
</html>

Donde insertamos el script: 
 
<script src="./viewsfiles/javascripts/miSriptNavegador.js"></script>

Ejecutamos el comando siguiente para adaptar el modulo a nodeJS:
 
npm run browser

jueves, 25 de junio de 2020

Paquete angular

Paquete angular

Sirve para desarrollar aplicaciones front-end con nodeJS.

Instalamos el paquete browserify:

npm install –g browserify

Instalamos la librería de angular
npm install angular

 Insertamos el siguiente codigo en el package.json:
"scripts": {
    "browser": " browserify miScript.js -o         viewsfiles/javascripts/ miSriptNavegador.js"

}

Creamos un archivo llamado miScript.js:
 
var angular = require('angular');
(function () {
      var app = angular.module('prueba', []);
      app.controller('controlador', function () {
           this.listaNombres =['juan','pedro','luis','maria'];
           this.getMostrar = function () {
                return true;
               };
          });
})();



Ejecutamos el comando siguiente para adaptar el modulo a nodeJS:
npm run browser

Creamos un archivo llamado index.html:
 
<html ng-app="prueba">
<head>
    <meta http-equiv="Content-type" content="text/html">
    <title>Ejemplo angular</title>
    <script src="./viewsfiles/javascripts/miSriptNavegador.js"></script>
</head>
<body>
    <div ng-controller="controlador as c">
        <div ng-show="c.getMostrar()">
            <div ng-repeat="dato in c.listaNombres">
               {{dato}}
            </div>
        </div>
    </div>
</body>


Tenemos:
  • miSriptNavegador.js es el que importamos en el html.
  • ng-app donde podemos el nombre del modulo (prueba)
  • ng-controler donde ponemos el nombre del controlador y lo renombramos como c.
  • ng-show nos muestra el div si se cumple la condición de mostrar.
  • ng-repeat nos muestra los datos de la lista de nombres.