2016-05-13 5 views
0

Wie reiche ich eine Postanforderung für mehrere Formularfelder mit einer Schaltfläche ein?Wie gehe ich mit der POST-Anfrage einer Formularschaltfläche in Node.js und Express um?

Ich versuche, eine Anmeldeseite zu erstellen, auf der der Benutzer auf eine einzelne Schaltfläche klickt, um seine E-Mail-Adresse und sein Kennwort einzugeben. Ich benutze Heroku mit Node.js und Express.

Ich erhalte die folgende Fehlermeldung, wenn ich versuche, und führen Sie die App

I'm receiving this error message when i try and run the app

login.ejs:

<link rel="stylesheet" type="text/css" href="/stylesheets/login.css" /> 
<div class="wrapper"> 
<form class="form-signin">  
    <h2 class="form-signin-heading">Login</h2> 
    <input type="text" class="form-control" name="email" placeholder="Email Address" required="" autofocus="" /> 
    <input type="password" class="form-control" name="password" placeholder="Password" required=""/>  
    <label class="checkbox"> 
    <input type="checkbox" value="remember-me" id="rememberMe" name="rememberMe"> Remember me 
    </label> 
    <button class="btn btn-lg btn-primary btn-block" type="submit" value="Submit">Login</button> 
</form> 

index.js

var express = require('express'); 
var app = express(); 

app.use(express.bodyParser()); 

app.set('port', (process.env.PORT || 5000)); 

app.use(express.static(__dirname + '/public')); 

// views is directory for all template files 
app.set('views', __dirname + '/views'); 
app.set('view engine', 'ejs'); 

app.post('form-signin', function(request, response){  
    console.log(request.query.email); 
    console.log(request.query.password); 
} 

app.get('/', function(request, response) { 
    response.render('pages/index') 
}); 


app.listen(app.get('port'), function() { 
    console.log('Node app is running on port', app.get('port')); 
}); 

Ich glaube, das Problem hat mit der folgenden Zeile in index.js zu tun:

app.post('form-signin', function(request, response){  
    console.log(request.query.email); 
    console.log(request.query.password); 
} 

Antwort

1

Die Antwort ist buchstäblich für Sie in der Fehlermeldung buchstabiert erhalten Sie.

In index.js, gehen 17 an der Leitung und ein ); nach den }

app.post('form-signin', function(request, response){  
    console.log(request.query.email); 
    console.log(request.query.password); 
}); 
+0

das hat den Trick! Vielen Dank – Jcr

0

Nun erscheinen die Fehlermeldung hinzufügen, sagen Sie eine schließende Klammer fehlen. Also, um das zu lösen, fügen Sie ein weiteres ')' am Ende des Stücks Code hinzu:

Verwandte Themen