首页 > 解决方案 > 将 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 /.

标签: node.jsexpresspost

解决方案


问题出在文件夹上——我搞砸了在srcServer.js. 将所有文件放在一个文件夹中后它工作正常,这样更容易正确完成。


推荐阅读