gpt4 book ai didi

node.js - 无法使用 express 发布/错误

转载 作者:IT老高 更新时间:2023-10-28 23:10:10 24 4
gpt4 key购买 nike

我正在尝试使用 express 创建一个简单的表单处理程序。我为我的表单尝试了以下代码:

<form class="form"  action="/" method="post" name="regForm">              
<div class="form-group">
<input type="text" name="username" class="form-control" id="username" placeholder="Username">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>

这是我的 app.js 代码:

const port = 3000;

var express = require('express'),
app = express(),
server = require('http').createServer(app);
var bodyParser = require('body-parser');

app.use(express.static(__dirname + '/public'));

app.use(bodyParser.urlencoded({
extended: true;
}));

app.use(bodyParser.json());

app.post('/',function(req,res){
var username = req.body.username;
var html = 'Hello:' + username;
res.send(html);
console.log(html);
});

server.listen(port);

提交表单后,我不断收到错误“CANNOT POST/”。我错过了像模块这样的东西吗?

最佳答案

这种方式你应该试试

const port = 3000;

var express = require('express'),
app = express();
var bodyParser = require('body-parser');

app.use(express.static(__dirname + '/public'));

app.use(bodyParser.urlencoded({
extended: false
}));

app.use(bodyParser.json());

app.get('/', function(req, res){
res.render('form');// if jade
// You should use one of line depending on type of frontend you are with
res.sendFile(__dirname + '/form.html'); //if html file is root directory
res.sendFile("index.html"); //if html file is within public directory
});

app.post('/',function(req,res){
var username = req.body.username;
var htmlData = 'Hello:' + username;
res.send(htmlData);
console.log(htmlData);
});

app.listen(port);

您应该记住的事项以备将来引用:

  1. 您将 url 编码扩展为 true
  2. 您的表单没有任何获取请求
  3. 您使用的是 HTML 命名变量,这是一种不好的做法

关于node.js - 无法使用 express 发布/错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35931135/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com