【问题标题】:Linking HTML button to node.js post将 HTML 按钮链接到 node.js 帖子
【发布时间】:2018-08-14 00:14:07
【问题描述】:

这里的基本问题:我使用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 /

【问题讨论】:

  • 尝试使用 action="/" 吗?
  • 我得到同样的错误
  • 尝试用 我看不出你的代码有任何问题:/
  • 还是同样的错误。我很感激你尝试。也许你可以帮助我:)
  • @Coreeze 是的,文件已创建,我还添加了 respond.write("Created");它返回它就好了。

标签: node.js express post


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-16
    • 2016-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-19
    • 2020-09-06
    • 1970-01-01
    相关资源
    最近更新 更多