Node.Js – 玉forms不POST或做任何事情?

app.js

/** * Module dependencies. */ var express = require('express'); var routes = require('./routes'); var http = require('http'); var path = require('path'); var app = express(); // all environments app.set('port', process.env.PORT || 3000); app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade'); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.json()); app.use(express.urlencoded()); app.use(express.methodOverride()); app.use(app.router); app.use(require('stylus').middleware(path.join(__dirname, 'public'))); app.use(express.static(path.join(__dirname, 'public'))); // development only if ('development' == app.get('env')) { app.use(express.errorHandler()); } app.get('/', routes.index); app.get('/about', routes.about); app.get('/contact', routes.contact); app.get('/moviesList', routes.moviesList); app.get('/addMovie', routes.addMovie); app.post('/movieAdded', routes.movieAdded); 

index.js

 exports.movieAdded = function (req, res) { console.log(req.body); res.render('movieAdded', req.body); }; 

addMovie.jade

 extends layout block content br form(action="/movieAdded", method="POST") input(type="text", name="movie" ,value="movie") br input(type="number", name="rating", value="rating") br input(type="number", name="year", value="year") br input(type="submit" value="Submit") 

当我点击提交button时,它不会在控制台上发布任何内容,也不会在浏览器中显示任何内容。 换句话说,它正在闲置。 尝试了很多方法,所以任何帮助将不胜感激。

你需要在所有的input标签:

 extends layout block content br form(action="/movieAdded", method="POST") input(type="text", name="movie" ,value="movie") br input(type="number", name="rating", value="rating") br input(type="number", name="year", value="year") br input(type="submit" value="Submit") 

如果你没有在表单下放置一个标签,那么它会在表单之外渲染input。

所以,需要一个选项卡来使所有input的子窗体。

我得到了它的工作

  extends layout block content br form(action="movieAdded", method="post") | Movie: input(type="text", name="movie") br | Rating: input(type="number", name="rating") br input(type="submit", value="Submit")