gpt4 book ai didi

javascript - express.js get 方法无法获取 req.body 值

转载 作者:行者123 更新时间:2023-12-05 06:04:23 25 4
gpt4 key购买 nike

我使用 vue3、vuex、express.js 和 mysql。在下面的路由器获取方法中,我调用“console.log(req.body)”并显示“[object Object]”,我调用“console.log(req.body.userid)”并显示“undefined”。

router.get('/',async function(req,res){
const userId = req.body.userid;
console.log("req body is: "+req.body);
console.log("req.body.userid is: "+req.body.userid);
.....
}

在下面的方法中,我将 userid 值作为 json 对象传递。我调用“console.log(”post userid: “+userinfo.userid);”并显示正确的值“1”;

      async getsp(){         
var userinfo = JSON.parse(localStorage.getItem('user'));
console.log("post userid: "+userinfo.userid);
var userid = userinfo.userid;
var obj = {userid};
return await axios.get('//localhost:8081/getSp',obj)
.then(...)
},

在主路由文件中,我使用了 body-parser,文件上下文如下:

require("dotenv").config();

const express = require('express');
const bodyParser = require('body-parser');
var cors = require('cors');

const signup = require('./userSignUp');
const login = require('./userLogin');
const createEvsp = require('./createEvsp');
const getSp = require('./getSp');
//const createFile = require('./createFile');

const app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json())
app.use(cors())
app.use(express.json());

app.use(
express.urlencoded({
extended: true
})
);
app.use("/signup",signup);
app.use("/dologin",login);
app.use("/createEvsp",createEvsp);
app.use("/getSp",getSp);
//app.use("/createFile",createFile);

app.listen(8081,function () {
console.log('Server running at 8081 port');
});

最佳答案

问题是对 HTTP 方法的理解以及 express 的工作原理

为了解决这个问题,需要使用快速中间件 /:userid 来使用 req.params.userid 访问参数

按照http标准发送数据我们一般使用POST请求。这里的堆栈中有一个很好的答案 Information about Get HTTP Request

赛义夫埃丁

关于javascript - express.js get 方法无法获取 req.body 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66311713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com