as it redirects into nodejs and jade

0

File app.js

var express = require('express');
var routes = require('./routes/index');
var bodyparser = require("body-parser");
var middleware = require('./routes/middleware')
var programmers = require('./routes/programmers');
var programmersModel = require('./models/model').programmersModel;
var session = require('express-session');




programmers.setModel(programmersModel);
var app = express();
app.use(express.static('public'));
app.set('view engine','jade');
app.use(bodyparser.json());
app.use(bodyparser.urlencoded({extended:true}));

app.use(session({

    secret:"user14",
    resave: false,
    saveUnitialized: false
}));

app.get('/', routes.index);
app.post('/session', programmers.session);

app.use('/*',middleware.middleware1);

app.use('/app', middleware.middleware2);

//app.get('/*', middleware.middleware3);
app.get('/app/programmers', programmers.formulario);
app.get('/app/programmers', programmers.index);
app.get('/app/programmers/create', programmers.create);
app.post('/app/programmers', programmers.store);
app.get('/app/programmers/:id', programmers.show);
app.get('/app/programmers/:id/edit', programmers.edit);
app.post('/app/programmers/update/:id', programmers.update);
app.post('/app/programmers/delete/:id', programmers.destroy);
app.get('/app/close',programmers.close);
app.listen(8080);

console.log("listenIng http://localhost:8080");

File programmers.js

exports.atenderFormulario = function (req, res) {  Programmers.findById (req.params.id, function (error, document) {         if (error) {           res.send ('Error when trying to see the form.');         } else {

        res.redirect('/atenderFormulario.jsp',{
            programmers: documento
        });
    }
});

};

Middleware.js file

exports.middleware1 = function(req, res ,next){
    next();
}
exports.middleware2 = function(req,res,next){
   next();
}

called in jade

a.waves-effect.waves-light.btn-large.red.accent-3(href="../formulario.html"): button(type="button") registrarse 

File form.jsp

             REGISTRY                                                                                       

<body> 

|                      

    </header>


    <nav>
        <div class="nav-wrapper teallighten-1">
            <a href="#" class="brand-logo">ARS-MUSIC</a>
            <ul id="nav-mobile" class="right hide-on-med-and-down">
                <li>
                    <a href="sass.html"></a>
                </li>
                <li>
                    <a href="badges.html">componentes</a>
                </li>
                <li>
                    <a href="/app/close">Cerrar Sesion</a>
                </li>
            </ul>
        </div>
    </nav>


<h1>Guardar usuarios</h1>
<form  action="/atenderFormulario.jsp" method="post" >
    <div class="form-inline">

            <label for="NOMBRE">NOMBRE</label>
            <input type="text" class="form-control" name="nombre" id="Nombre" placeholder="NOMBRE" pattern="[ A-Za-z ]+"
                   title="Este no parece un nombre válido"
                   required>


            <label for="APELLIDO">APELLIDO</label>
            <input type="text" class="form-control" pattern="[ A-Za-z ]+"
                   title="Este no parece un apellido válido"
                   required id="Apellido" name="apellido"  placeholder="APELLIDO">

    <br>
    <br>


        <label for="USUARIO"> NOMBRE DE USUARIO</label>
        <input type="text" class="form-control"  pattern="[ 0-9-A-Za-z ]+"
               title="Este no parece un nombre de usuario válido"
               required id="Nombus" name="user" placeholder="NOMBRE DE USUARIO">



        <label for="CONTRASEÑA">CONTRASEÑA</label>
        <input type="password" class="form-control" id="contraseña" name="pass" placeholder="Password" pattern="[ 0-9-A-Za-z ]+"
               title="Este no parece una contraseña válida"
               required>

        <label for="edad">edad</label>
        <input class="form-control" type="number" id="edad" name="edad">

    <label class="radio-inline">
        <input type="radio" value="masculino" id="test1" name="genero"  />
      <label for="test1">Masculino</label>
        <br>
    </label>
    <label class="radio-inline">
        <input type="radio" value="FEMENINO" id="test2" name="genero"  />
        <label for="test2">Femenino</label>
    </label>
    <br>
    <button class="btn btn-primary" type="submit" value="Enviar">Registrar</button>
     <a>(href='/app/programmers') Cancelar </a>         

</form>

when I press the button shows

Cannot GET /formulario.html
    
asked by Alexis Rodriguez Jimenez 16.11.2016 в 14:44
source

2 answers

1

In the file app.js

  • There is a syntax error in the line 34 , the ) should be until the end of the line followed by a ; . So:

    app.get('/app/programmers', programmers.formulario);
    
  • You can also see that you are stepping on the middleware for endpoint /app/programmers

    // Aquí le dices que use 'formulario'
    app.get('/app/programmers', programmers.formulario);
    // Aquí lo pisas diciendole que use 'index'
    app.get('/app/programmers', programmers.index);
    
  • Project structure:

  • The formulario.html file should be inside the public directory
  • answered by 16.11.2016 / 14:56
    source
    0

    on line 34 missing ";"

    and try modifying like this:

      

    res.redirect ('./ form');

    you should no longer put the extension

    Look here an example

    app.get('/login', function(req, res, next) {
      res.render('ingresar', { title: "ingresando..."});
    });
    

    enter is the file ingres.jade

        
    answered by 16.11.2016 в 14:49