отправка данных html-формы на узел js - PullRequest
0 голосов
/ 28 апреля 2018

У меня есть следующий код

    <!--index.html-->

  <form id = "lang" action="/myform" method="POST" >
    <input type="text" name="mytext" required />
    <input type="submit" value="Submit" />
</form>

и

//index.js

  var fileServer = new(nodeStatic.Server)();

  var app = http.createServer( function(req, res){

  fileServer.serve(req, res); 

}).listen(port);

var io = socketIO.listen(app);

io.sockets.on('connection', function(socket) {

  console.log('recieved connection ');
  // convenience function to log server messages on the client

Как мне отправить данные из текстового поля с идентификатором "lang" в index.js и сохранить их в некоторой переменной?

используя express, поместив его в качестве параметра в http.createServer() и выполнив filsServer.serve(req, res) в обратном вызове:

express = require('express');
app2 = express();
http = require('http');

    app2.post('/myform', function(req, res){

    console.log(req.body.mytext); 

  });

var app = http.createServer(app2, function(req, res){

 fileServer.serve(req, res);  

}).listen(8082);

это, очевидно, не сработает, потому что мне нужно загрузить страницу index.html, чтобы заполнить форму для начала, и, выполнив приведенный выше код, программа ожидает некоторые данные формы еще до загрузки html-страницы.

Есть ли другой способ отправить данные?

1 Ответ

0 голосов
/ 29 апреля 2018

Я получил его на работу. Вот код:

var express = require('express');
var app2 = express(); 
var bodyParser = require("body-parser");
var path = require('path');
var socketIO = require('socket.io');

app2.use(bodyParser.urlencoded({ extended: false }));
app2.use(bodyParser.json());

var app = http.createServer(app2);
`var io = socketIO.listen(app);`

app2.use( express.static(__dirname));

app2.post('/form', function(req, res){

  var lang = req.body.mytext;
  console.log( req.body.mytext);
  res.send(lang);
});

app.listen(8081);

Несмотря на то, что я создал сервер с помощью Express, мне все равно нужно было создать сервер с использованием модуля HTTP, поскольку сервер Express не работает с модулем socket.io.

И я использовал экспресс-сервер, чтобы заботиться о моих статических файлах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...