Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript express.js get方法无法获取req.body值_Javascript_Mysql_Node.js_Express_Vuex - Fatal编程技术网

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

Javascript express.js get方法无法获取req.body值,javascript,mysql,node.js,express,vuex,Javascript,Mysql,Node.js,Express,Vuex,我使用vue3、vuex、express.js和mysql。在下面的router get方法中,我调用“console.log(req.body)”并显示“[object object]”,我调用“console.log(req.body.userid)”并显示“undefined” 在下面的方法中,我将userid值作为json对象传递。我调用“console.log”(“post userid:+userinfo.userid”);并显示正确的值“1” 在我使用body parser的主路由

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

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

在我使用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的工作原理

为了解决这个问题,需要使用express中间件
/:userid
使用
req.params.userid

根据发送数据的http标准,我们通常使用POST请求。 这里有一个很好的答案


Sayf Eddine

你好,Amantuer,有一些问题想更好地理解你的问题,你确定要执行GET方法而不是POST吗?@Sayf Eddine我想根据用户信息从服务器上搜索并获取值,那么,使用get方法传递用户信息并获取值是否正确?如果您仅根据用户信息从服务器中搜索值,为什么不使用express中间件
/:userid
,您将使用
req.params.userid
访问参数?因为根据你想要的,我认为这是最好的方法。根据发送数据的http标准,我们通常使用POST请求。
      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(...)
      },
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');
 });