Я пытаюсь отправить вызов подключения к моему api из моего vue (я использую vue.js), но когда я получаю объект req.body в моей спине, объект пуст
Я прочитал это: Запрос на отправку Axios. Body — пустой объект но это не помогло мне
(он работает из Postman с заполненным телом и опцией x-www-form-encoded)
я получил это из моего Vue: My vue service.js
import Axios from 'axios';
class APIClient {
constructor () {
this.client = Axios.create({
baseURL: 'https://localhost:8080'
});
}
async connect () {
const params = new URLSearchParams();
params.append('mail', 'test');
params.append('pwd', 'mypwd');
return await this.client.get('/api/user/auth', params);
}
и у меня в спине: index.ts:
import express from "express";
var cors = require('cors');
import "reflect-metadata";
var bodyParser = require('body-parser')
const http = require('http');
const MainRouter = require('./routes/main_router');
let port = 8080;
const server = express();
server.use(cors({origin: true}))
server.use(bodyParser.json());
server.use(bodyParser.urlencoded({extended: true}))
let mainRouter = new MainRouter(server);
const httpServer = http.createServer(server);
httpServer.listen(port);
console.log('Server is listening');
и main_router.ts
import express from 'express';
import mysql from "promise-mysql";
export default class MainRouter {
public server: express.Express;
constructor (server: express.Express) {
super();
this.server = server;
this.server.get("/api/user/auth", async (req: any, res: any) => {
if (req.body) //the req.body is equal to {} instead of {mail: 'test', ...
return res.json(await this.userManager.getUserByCredidentials(req.body));
else return res.json([])
});
}
}
module.exports = MainRouter;
Я не знаю, есть ли у меня что-то добавить в свой экспресс-сервер или в свой vue с аксиомами?
mail
иpwd
как параметры GET, а не в теле запроса. Вы можете получить доступ кreq.query
, но ….Вот пример:
и конечно не забудьте поменять
this.server.get("/api/user/auth",...
наthis.server.post("/api/user/auth",...
хорошо, спасибо, это сработало! я не буду передавать кредиты через свой URL — person Jesus; 11.03.2021