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