【问题标题】:sending html form data to node js将html表单数据发送到节点js
【发布时间】:2018-10-09 07:33:29
【问题描述】:

我有以下代码

    <!--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

如何将 id 为“lang”的文本框中的数据发送到 index.js 并将其存储在某个变量中?

通过将 express 作为参数放在 http.createServer() 中并在回调中执行 filsServer.serve(req, res) 来使用 express:

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 页面加载之前就需要一些表单数据。

还有其他方法可以发送数据吗?

【问题讨论】:

    标签: javascript html node.js forms


    【解决方案1】:

    我让它工作了。代码如下:

    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 模块一起使用。

    我使用 express 服务器来处理我的静态文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-22
      • 2020-07-06
      • 1970-01-01
      • 2013-06-26
      • 2016-11-25
      • 2022-01-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多