当我运行它时,它正确显示了表单,但是当我单击提交按钮时,没有任何反应,帖子似乎不起作用!我使用“nodemon index.js”运行,并且chrome正确显示表单,但是当我单击提交按钮时,post方法handleform不显示。
索引.js
const Koa = require('koa');
const Router = require('koa-router'); //Use router instead of route
const router = new Router();
const bodyParser = require('koa-body');
const app = new Koa();
const Pug = require('koa-pug');
const pug = new Pug({
viewPath: './views',
basedir: './views',
app: app
});
app.use(bodyParser({
formidable: {uploadDir: './uploads'},
multipart: true,
urlencode: true
}));
router.get('/', renderForm);
router.post('/', handleForm);
async function renderForm(ctx,next) {
ctx.render('form');
await next();
}
async function handleForm(ctx) {
console.log("Submitted")
console.log(ctx.request.body);
console.lgo(ctx.req.body);
ctx.body = ctx.request.body;
}
app.use(router.routes()); //use router
app.listen(3000);
表格.pug
html
head
title Form Tester
body
form(action="/", method="post")
div
label(for="say") Say:
input(type="text" name="say" value="Hi")
br
div
label(for="to") To:
input(type="text" name="to" value="Koa form")
br
input(type="submit" value="Send my greetings")
我测试了你的代码。除了console.lgo
已经提到的问题之外,您的 pug 代码格式错误。在浏览器中检查页面源代码时,我拥有<form action="/" method="post"></form>
所有输入字段,然后关闭表单标签。所以这是我的工作代码:
索引.js*
const Koa = require('koa');
const Router = require('koa-router'); //Use router instead of route
const router = new Router();
const bodyParser = require('koa-body');
const app = new Koa();
const Pug = require('koa-pug');
const pug = new Pug({
viewPath: './views',
basedir: './views',
app: app
});
app.use(bodyParser({
formidable: {uploadDir: './uploads'},
multipart: true,
urlencode: true
}));
router.get('/', renderForm);
router.post('/', handleForm);
async function renderForm(ctx,next) {
ctx.render('form');
await next();
}
async function handleForm(ctx) {
console.log("Submitted")
console.log(ctx.request.body);
ctx.body = ctx.request.body;
}
app.use(router.routes()); //use router
app.listen(3000);
表格.pug
html
head
title Form Tester
body
form(action="/", method="post")
div
label(for="say") Say:
input(type="text" name="say" value="Hi")
br
div
label(for="to") To:
input(type="text" name="to" value="Koa form")
br
input(type="submit" value="Send my greetings")
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句