我有以下小型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 不明白您的输入
包含在表单
中。
试试这个,它对我有用:
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")
关于javascript - 在 Express.js 中从 jade 传递表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32679038/