繁体   English   中英

在Express.js中传递来自Jade的表单数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM