node.js - 将 HTML 按钮链接到 node.js 帖子
问题描述
这里的基本问题:我设置了一个本地服务器,express
并且我想通过单击 HTML 按钮在服务器上创建一个文件。
这是srcServer.js
:
var express = require('express');
var path = require('path');
var open = require('open');
var fs = require('fs');
var port = 3000;
var app = express();
app.get('/', function(req, res){
res.sendFile(path.join(__dirname, '../src/index.html'));
});
app.post('/', function(request, respond) {
fs.writeFile('message.txt', 'Hello Node.js', (err) => {
if (err) throw err;
console.log('The file has been saved!');
});
});
app.listen(port, function(err){
if(err){
console.log(err);
}else{
open('http://localhost:' + port);
}
});
这是index.html
:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<h2>The Button Element</h2>
<form action="" method="post">
<button name="foo" value="send">Send</button>
</form>
</body>
</html>
我很确定问题是我如何处理 HTML 按钮,但我不知道更好。我点击它时收到的错误是:Cannot POST /
.
解决方案
问题出在文件夹上——我搞砸了在srcServer.js
. 将所有文件放在一个文件夹中后它工作正常,这样更容易正确完成。
推荐阅读
- android - 在 GridView.count() 中,getter 'length' 被调用为 null
- ios - SF Symbol Tint 颜色不适用于 Cosmos View
- javascript - 访问引用对象的属性
- python - Numpy如何用另一个向量分配矩阵列的值?
- excel - 将同一列中的单元格值与 Excel 中的其他条件进行比较
- android - 找到多个文件,其独立于操作系统的路径 'META-INF/androidx.legacy_legacy-support-core-utils.version' (java)
- html - 在一行CSS中放置一个带圆圈的矩形
- vue.js - Vuex mapActions:映射器参数必须是数组或对象
- angular - ASP.NET Core + Angular 使用 Azure DevOps 发布管道部署工件
- gulp - 错误:src 路径的 glob 参数无效,用作变量