当前位置: 首页 > 知识库问答 >
问题:

node.js使用socket.io和Http从Express读取post数据

赵英范
2023-03-14

我有一个带有Express和Socket.io的Node.js服务器。在socket.io文档中,我找到了主机服务器的示例代码。

我现在的问题是:我无法从请求中读取Post数据。

            $.ajax({
                type: "POST",
                url: "http://127.0.0.1:4444/login",
                data: {
                    da: 'a'  
                },
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function(data){
                    console.log(data);

                },
                failure: function(errMsg) {
                    console.log(data);
                }
            });
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
server.listen(4444);

var database = require('./database.js');
database.methods.connect(); 


// Add headers
app.use(function (req, res, next) {
    res.setHeader('Access-Control-Allow-Origin', 'http://localhost:8080');
    res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
    res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
    res.setHeader('Access-Control-Allow-Credentials', true);
    next();
});

app.post('/login', function(req, res) {
    console.log(req.body);
});

我如何从请求中读出正文?我希望有人能帮助我!谢谢

共有1个答案

鞠子轩
2023-03-14

您需要添加Express body-parser中间件,如下所示:

var express = require('express')
var bodyParser = require('body-parser')

var app = express()
var server = require('http').Server(app);
var io = require('socket.io')(server);
server.listen(4444);

// parse application/x-www-form-urlencoded 
app.use(bodyParser.urlencoded({ extended: false }))

// parse application/json 
app.use(bodyParser.json())

app.use(function (req, res) {
  res.setHeader('Content-Type', 'text/plain')
  res.write('you posted:\n')
  res.end(JSON.stringify(req.body, null, 2))
})
 类似资料:
  • 问题内容: 我有一个使用socket.io和express的简单node.js应用程序。目前所有的javascript都在HTML文件中,但我想尝试将其分离为.js文件。 在我的主节点应用程序中,我有以下内容: 直到我将javascript从index.html移到.js文件,然后尝试从我的HTML文件中引用它,如下所示: 我认为express无法提供静态文件,因此我尝试了以下方法: 谁能告诉我我

  • 问题内容: 我试图用https运行我的节点服务器。我正在使用express和socket.io。 这是我的https代码: 在我的客户上,其以下内容: 现在我在服务器上收到以下异常: uncaughtException:缺少PFX或证书+私钥。 编辑:现在我越来越 错误的请求 您的浏览器发送了该服务器无法理解的请求。原因:您正在对启用SSL的服务器端口使用纯HTTP。请改用HTTPS方案访问此UR

  • 如何将所有数据批量存储到后端? 模式之间的引用很少,因此是否会创建新的'_id'从而影响我的引用 如果您认为这不是导出数据的正确方法,那么如何使用node Express来完成?

  • 问题内容: 我正在尝试使用python SimpleHTTPServer构建一个简单的REST服务器。我在从帖子中读取数据时遇到问题。如果我做对了,请告诉我。 index.html文件 SimpleJson无法从POST消息中加载json。我对Web编码不熟悉,我甚至不确定我在做什么是否适合创建简单的REST API服务器。我感谢您的帮助。 问题答案: 感谢matthewatabet的klein想

  • 介绍 有时候,浏览器会通过post发送很多数据。在webpy,你可以这样操作。 代码 class RequestHandler(object): def POST(self): data = web.data() # 通过这个方法可以取到数据

  • 问题内容: 我正在尝试使用Node.js从URL中读取内容,但似乎只有一堆字节。我显然做错了事,但不确定。这是我目前拥有的代码: 任何见识将不胜感激。 问题答案: 尝试使用客户端的on错误事件来查找问题。