El usuario, mediante el navegador, hace peticiones para traer información desde el servidor. Estas peticiones predeterminadas son etiquetadas con el verbo GET. Mientras que para enviar datos nuevos del cliente al servidor, se recomienda el uso de peticiones etiquetadas con el verbo POST mediante el uso de formularios.
Crea un nuevo proyecto, según Express - Bases, Express - ORM (Básico), Express - ORM (Intermedio), Express - Parámetros de consulta y Parámetros de ruta y Express - REST.
hito8-api
Crea un nuevo proyecto, según Express - Bases, Express - Bootstrap y Express - Layouts y Partials.
hito4-admin
fotos_formulario.ejs
a la carpeta admin/viewsfotos_formulario_add.ejs
a la carpeta admin/views/partials'#'
por la referencia a la ruta '/photos/add'
.
...
<a href="/photos/add" class="btn btn-secondary"> ... Add New Photo ... </a>
...
"/photos/add"
para el verbo GET.
...
router.get('/photos/add', function(req, res, next) {
res.render('fotos_formulario', { title: 'Express' });
});
...
module.exports = router;
"/photos/save"
para el verbo POST.
...
router.post('/photos/save', async function(req, res, next) {
let { title, description, rate } = req.body
const URL = 'http://localhost:4444/rest/fotos/save'
let data = {
titulo:title,
descripcion: description,
calificacion: rate,
ruta: ''
}
const config = {
proxy: {
host: 'localhost',
port: 4444
}
}
const response = await axios.post(URL, data, config);
if(response.status == '200' && response.statusText == 'OK') {
res.redirect('/photos')
} else {
res.redirect('/')
}
});
...
module.exports = router;
npm install
set PORT=4444
npm run devstart
npm install
set PORT=3080
npm run devstart
"/photos"
y de clic en el botón Add New Photo
"/photos/add"
"http://localhost:3080/photos"
, verifique que aparezcan los datos recientemente ingresados.