Node.js 通过点击提交按钮(express)发布表单值
我开始使用nodejs和express来构建一个非常简单的应用程序 到目前为止,我正在运行一个Web服务器,并为我的index.html添加了一个app.get路由,该路由显示两个表单和一个提交按钮 我希望能够在这两种表单中键入字符串,单击submit按钮,然后在我的服务器上使用这两个字符串(使用表单中的这两个字符串调用函数) 服务器:Node.js 通过点击提交按钮(express)发布表单值,node.js,express,Node.js,Express,我开始使用nodejs和express来构建一个非常简单的应用程序 到目前为止,我正在运行一个Web服务器,并为我的index.html添加了一个app.get路由,该路由显示两个表单和一个提交按钮 我希望能够在这两种表单中键入字符串,单击submit按钮,然后在我的服务器上使用这两个字符串(使用表单中的这两个字符串调用函数) 服务器: var express = require('express'); var app = express(); //body-parser -> not
var express = require('express');
var app = express();
//body-parser -> not sure if thats the right approach...
var bodyParser = require('body-parser');
app.use(bodyParser.json());
/* servers main page */
app.get("/", function(req, res) {
res.sendFile(__dirname + '/index.html');
});
//POST route
app.post('/', function(req, res) {
//goal: user types string in both forms, clicks submit, values are being
//received from server to call a function using those strings
});
var port = process.env.PORT || 1337;
app.listen(port, function() {
console.log("Listening on " + port);
});
<form action="" method="POST">
Subject:<br>
<input type="text" name="subject" value="default"><br>
Message:<br>
<input type="text" name="message" value="default"><br><br>
<input type="submit" name="submit" value="Submit">
</form>
HTML:
var express = require('express');
var app = express();
//body-parser -> not sure if thats the right approach...
var bodyParser = require('body-parser');
app.use(bodyParser.json());
/* servers main page */
app.get("/", function(req, res) {
res.sendFile(__dirname + '/index.html');
});
//POST route
app.post('/', function(req, res) {
//goal: user types string in both forms, clicks submit, values are being
//received from server to call a function using those strings
});
var port = process.env.PORT || 1337;
app.listen(port, function() {
console.log("Listening on " + port);
});
<form action="" method="POST">
Subject:<br>
<input type="text" name="subject" value="default"><br>
Message:<br>
<input type="text" name="message" value="default"><br><br>
<input type="submit" name="submit" value="Submit">
</form>
主题:
信息:
首先,忘记bodyParser
中间件,json
和urlencoded
解析器从4.16开始就包含在express中
然后,您没有AJAX调用,而是一个简单的表单,因此这是无效的
app.use(bodyParser.json());
有
最后,在路由中,只需从解析中间件附加到请求的body
对象中读取发布的值
//POST route
app.post('/', function(req, res) {
var subject = req.body.subject;
var message = req.body.message;
});
可能是重复的感谢,这是完美的工作。我想可能需要一些类似的onclick活动……太棒了。