亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

expressjs顯示post數據返回一個空對象

expressjs顯示post數據返回一個空對象

哆啦的時光機 2023-02-24 15:54:22
所以我正在使用 expressjs 和 socketio 開發一個聊天服務器,并決定創建一個后臺內置節點聊天服務器本身的管理員。const express = require("express");const app = express();const port = 3700;let io = require('socket.io').listen(app.listen(port));let socketList = io.sockets.server.eio.clients;const path = require('path');const bodyParser = require('body-parser');app.set('views', path.join(__dirname, 'views'));app.set('view engine', 'pug');app.use(bodyParser.urlencoded({ extended: true }));app.use(express.static('public'));app.get('/login', function(req, res) {    res.render('login', { title: 'Login | Argos Chat' });});app.post('/login', function(req, res) {    console.log(req.body);});因此,在提交登錄數據后,我嘗試顯示登錄表單中的發布數據,但它返回一個空對象{}console.log(req.body);嘗試做req.params但結果相同。非常感謝任何幫助和想法。
查看完整描述

3 回答

?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

我認為這可能是您問題的正確解決方案,因為您的代碼中的一切似乎都是正確的,錯誤可能是由您調用 API 和設置標頭的方式引起的:

https://stackoverflow.com/a/25904070/12090205


查看完整回答
反對 回復 2023-02-24
?
楊魅力

TA貢獻1811條經驗 獲得超6個贊

我嘗試運行您的代碼并且運行良好。也許你調用 API 的方式不對

要支持 content-type: x-www-form-urlencoded 你應該使用

app.use(bodyParser.urlencoded({ extended: true }));

并支持 content-type: application/json 你應該使用

app.use(bodyParser.json());

我認為您正在使用表單數據,因為這些都不起作用。為此,您可能需要使用強大的包。只有在發送任何圖像/文件時,我們才應該使用表單數據內容類型。

并且 body-parser 已與 express 合并。你現在可以直接使用這個

app.use(
  express.json(),
  express.urlencoded({ extended: false })
);


查看完整回答
反對 回復 2023-02-24
?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

http://img1.sycdn.imooc.com//63f86d7a0001920c19081076.jpg

const express = require("express");

const app = express();

const port = 3700;


let io = require('socket.io').listen(app.listen(port));


let socketList = io.sockets.server.eio.clients;


const path = require('path');

const bodyParser = require('body-parser');

app.use(bodyParser.json());


app.set('views', path.join(__dirname, 'views'));

app.set('view engine', 'pug');

app.use(bodyParser.urlencoded({ extended: true }));

app.use(express.static('public'));


app.get('/login', function(req, res) {

    res.render('login', { title: 'Login | Argos Chat' });

});


app.post('/login', function(req, res) {

    console.log(req.body);

});

我檢查了它的工作。


查看完整回答
反對 回復 2023-02-24
  • 3 回答
  • 0 關注
  • 173 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號