Передача данных Node.js

236
01 мая 2018, 00:53

Почему этот код не работает?

Все же вроде верно написано!

index.html:

<!DOCTYPE html>
<html>
  <head>
    <script src="https://cdn.jsdelivr.net/npm/vue"></script>
    <script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
    <title>
    Test application!
    </title>
  </head>
  <body>
    <form action="index.html" method="POST">
        <input type="text" name="first_name" />
        <input type="submit" value="Send" />
    </form>
  </body>
</html>

server.js:

var fs = require("fs");
var index = fs.readFileSync('./index.html');
var http = require('http');
var app = require('express')(),
    bodyParser = require('body-parser');
http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/html; charset=utf8'});
    res.end(index);
}).listen(8080, '127.0.0.1');
console.log('Server running at http://127.0.0.1:8080/');
app.use("/index.html", bodyParser.urlencoded({
    extended: false
}));
app.post("/index.html", function(req, res, next) {
    console.dir(req.body);
    console.log(req.body);
    res.send('Your name is' + req.body.first_name);
});
Answer 1

В качестве ответа на комментарий. Только я не парсил запрос, а просто вывел его в консоли. Ответ вернул произвольный.

const fs = require("fs"),
      http = require ("http"),
      url = require("url"),
      index = fs.readFileSync('./index.html'),
      port = 3000,
      server = http.createServer();
server.listen(port, function(){
    console.log("Сервер запущен по адресу localhost:"+port);
    console.log("*****************************************************************");
})
server.on("request", function(req, res){
    if (req.method == "GET") {
        res.writeHead(200, {'Content-Type': 'text/html'});
        res.end(index)
    } else if (req.method == "POST") {
        var data ="";
        req.on('data', function(chunk){
            data += chunk;
        })
        req.on("end", function(){
            console.log(data)
            res.writeHead(200, {"Content-Type": "text/plain"});
            res.end("Very good");
        });
    }
});
READ ALSO
Управление объектом

Управление объектом

Нужно, чтобы с div, с id = ball, можно было взаимодействовать с помощью стрелок на клавиатуре

201
Скриптом не меняется картинка более чем 2 раза

Скриптом не меняется картинка более чем 2 раза

Делаю блок для выбора типа окна, и при клике должно меняться изображение, срабатывает только 2 раза

196
Как передать саму функцию в bind JavaScript

Как передать саму функцию в bind JavaScript

Всем привет! Как и все, кто волею судьбы и руководства изучает JavaScript, столкнулся с передачей параметров в addEventListenerПроблема легко решается...

185
VueJS Разница между Methods и Computed

VueJS Разница между Methods и Computed

Недавно начал учить Vue и сразу-же застрял на таком моменте

189