为什么发布方法不做任何事情?

时间:2019-01-21 14:46:12

标签: node.js

我正在尝试使服务器使用简单路由而不使用框架,并将接收到的数据保存到文件中。为了做到这一点,我应该能够使自己的提交按钮做某事,但现在看来并没有。

 const http = require('http');
 var url = require('url');
 const hostname = '0.0.0.0';
 const port = 3000;

 const server = http.createServer((req, res) => {
 if(req.url == "/save"){
    if(req.method === 'POST'){
        console.log("Why, why, nothing happens?.");
        res.end("What is wrong?");
    }
    else{
        res.end(`
            <!doctype html>
            <html>
            <body>
                <form action="/" method="post">
                    <input type="text" name="data" /><br />
                    <button>Save</button>
                </form>
            </body>
            </html>
        `);
    }
  }
 });

 server.listen(3000);

1 个答案:

答案 0 :(得分:2)

这是您要发布到的URL:

action="/"

这是您代码的简化版本:

if(req.url == "/save"){
    // Do something
}

它什么都不做,因为它没有通过您的if条件("/" !== "/save"!),并且您没有else分支。