app.post() ne fonctionne pas avec l'Express
J'ai un problème avec l'Express, j'essaie d'utiliser l'application.post() mais ça ne marche pas et je ne sais pas pourquoi...
Si j'inclus le bodyParser()...
Le problème: la Page charge sans réponse, pas de message d'erreur. Je ne vois pas la console.journal (le)...
app.js :
var express = require('express')
, routes = require('./routes')
, user = require('./routes/user')
, postProvider = require('./postProvider.js')
, http = require('http')
, path = require('path')
, compass = require('node-compass')
, hash = require('./auth').hash;
var app = express();
app.configure(function () {
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(compass());
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
app.use(express.cookieParser('dsqdq edsds'));
app.use(express.session());
});
app.configure('development', function () {
app.use(express.errorHandler());
});
app.get('/admin', function(req, res){
res.redirect('login');
});
app.get('/login', function(req, res){
res.render('login');
});
app.post('/login', function(req, res){
console.log('test');
});
app.get('/', routes.index);
http.createServer(app).listen(app.get('port'), function () {
console.log("Express server listening on port " + app.get('port'));
});
de connexion.jade :
extends layout
block content
h1 Login
h3 "tj" and "foobar"
form(method="post", action="/login")
input(type="text", placeholder="Username", autofocus="true", name="username")
br
input(type="password", placeholder="Password", name="password")
br
input(type="submit", value="login")
Ouais,ajouter le corps-analyseur
OriginalL'auteur tonymx227 | 2013-02-09
Vous devez vous connecter pour publier un commentaire.
Je ne trouve pas aucun problème avec l'application.code postal !!
Une suggestion est que, vous devriez vous retrouver chaque envoi de réponse au client , sinon votre serveur ne répond plus.
J'ai ajouté la fonction end (), mais j'obtiens le même problème...
J'ai trouvé le problème mais je ne comprends pas, quand j'ai fait un commentaire "app.utilisation(boussole());" il fonctionne... Quand je décommentez ça ne fonctionne pas... Quel est le problème avec le Boussole?
est
login
une page ou de la vue que vous essayez de vous rendre à partir de votreapp.post()
J'ai eu un problème avec mon application.post() la cause de mes node.js serveur de gel (timeout) pour un certain temps lors de la publication trop à la fois. Cette résolu merci !
OriginalL'auteur Ashish
Votre requête post est de l'envoyer à
/test
( que vous avez utiliséaction
attribut de votre formulaire ), tandis que votre express port d'écoute est à l'écoute de toutes les demandes post sur/login
.Votre code devrait ressembler à :
Si vous voulez que cela fonctionne!
OriginalL'auteur drinchev
Je copie " routeur.post ()... " à un autre fichier js,et de modifier l'itinéraire en app.js,il a travaillé!Mais " routeur.post () la méthode des " encore un avertissement.parfois, il semble comme un avertissement dans webstorm,mais il peut effectivement travailler!
OriginalL'auteur john lin