[英]Pass form data from jade in Express.js
我有以下小型express.js应用程序和相应的.jade文件。 服务器正在运行,没有错误,但是当我提交按钮时,没有任何反应。 我希望可以调用app.post(...),但事实并非如此。
有人可以指出我的错误吗?
var express = require('express'); var http = require('http'); var bodyParser = require ('body-parser'); var app = express(); var port = process.env.PORT || 9250; var host = process.env.HOST || "127.0.0.1"; var server = http.createServer(app).listen( port, host, function() { console.log("Server listening to %s:%d within %s environment", host, port, app.get('env')); }); app.set('views', __dirname + '/views'); app.engine('.html', require('jade').__express); app.use( bodyParser.json() ); app.use(bodyParser.urlencoded({ extended: true })); app.get('/', function(req, res) { res.sendFile(app.get('views') + '/index.html') }); app.get('/test', function(req, res) { res.render('home.jade'); }); app.post('/claim', function(req, res) { console.log('called'); res.redirect('/'); });
doctype html html(lang="en") head title Hello body h1 Welcome p Description form(action="/claim", method="post") label Input something br input(type="text", name="address", size=50) br input(type="submit", value="Submit")
您的问题是缩进:Jade不理解您的input
是否包含在form
。
试试这个,它对我有用:
doctype html
html(lang="en")
head
title Hello
body
h1 Welcome
p Description
form(action="/claim", method="post")
label Input something
br
input(type="text", name="address", size=50)
br
input(type="submit", value="Submit")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.