************************************************ Пример - 1 *************************************
<form method="POST" action="/login">
<input name="email" placeholder="Email Address" />
<input name="password" placeholder="Password" />
</form>
const http = require('http'),
const qs = require('querystring');
var server = http.createServer(function(req, res) {
if (req.method === 'POST' && req.url === '/login') {
var body = '';
req.on('data', function(chunk) {
body += chunk;
});
req.on('end', function() {
var data = qs.parse(body);
//**** now you can access `data.email` and `data.password`********//
res.writeHead(200);
res.end(JSON.stringify(data));
});
} else {
res.writeHead(404);
res.end();
}
});
server.listen(80);
***************************** Пример - 2 ***********************
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>CSS3 Contact Form</title>
</head>
<body>
<div id="contact">
<h1>Send an email</h1>
<form action="/myaction" method="post">
<fieldset>
<label for="name">Name:</label>
<input type="text" id="name" name="name" placeholder="Enter your full name" />
<label for="email">Email:</label>
<input type="email" id="email" placeholder="Enter your email address" />
<label for="message">Message:</label>
<textarea id="message" placeholder="What's on your mind?"></textarea>
<input type="submit" value="Send message" />
</fieldset>
</form>
</div>
</body>
</html>
Использование http.createServer очень низкоуровневое и действительно бесполезное для создания веб-приложений как есть.
Хороший фреймворк для использования поверх негоЭкспресс, и я бы серьезно предложил использовать его.Вы можете установить его, используя npm install express.
Если у вас есть, вы можете создать базовое приложение для обработки вашей формы:
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
//Note that in version 4 of express, express.bodyParser() was
//deprecated in favor of a separate 'body-parser' module.
app.use(bodyParser.urlencoded({ extended: true }));
//app.use(express.bodyParser());
app.post('/myaction', function(req, res) {
res.send('You sent the name "' + req.body.name + '".');
});
app.listen(8080, function() {
console.log('Server running at http://127.0.0.1:8080/');
});
Вы можете настроить свою форму на нее, используя:
<form action="http://127.0.0.1:8080/myaction" method="post">
Причина, по которой вы не можете запустить Node на порту 80, заключается в том, что на этом порту уже запущен процесс (который обслуживает ваш index.html).Вы также можете использовать Express для обслуживания статического контента, такого как index.html, используя промежуточное программное обеспечение express.static.