在VueJs中发布未定义响应的请求

我是VueJs和Expressjs的初学者。 我正在试图通过Vuejs和ExpressJs后端。 我向后端(expressJs)发送一个post请求,并且:

1-响应是未定义的2-同时我可以在铬开发工具中看到2个请求。 一个是Option,另一个是Post。 3-邮递员根本没有问题。

在这里输入图像说明

这里是快递app.js的代码

console.log('Server is running') const express = require('express'), bodyParser = require('body-parser'), cors = require('cors'), morgan = require('morgan'); app = new express(); //Setup middleware app.use(cors()); app.use(morgan('combined')) app.use(bodyParser.json()) app.post('/register', (req, res, next) => { res.send({ message: `Hello ${req.body.email}! your user was registered!` }) }); app.listen(8081); 

这里是VueJs中的代码:

 // Api Setting import axios from 'axios' export const HTTP = axios.create({ baseURL: `http://localhost:8081` }); // AuthenticationService import { HTTP } from '../services/Api' export default { register(credentials) { HTTP.post('register', credentials); } } // Register Component export default { data() { return { email: '', password: '' }; }, methods: { async register() { const response = await AuthenticationService.register({ email: this.email, password: this.password }); console.log(response); // the value is undefined } } }; 

我真的不知道我在这里错过了什么,我同时得到了一个未定义的响应和两个请求。 我欣赏任何提示。

Github上的整个代码: 这里

也许。 Authentication.register没有返回任何东西,或者更具体地说是一个Promise ,它应该用来在await调用中填充const response

尝试返回如下所示: return HTTP.post('register', credentials); 里面register

为此, HTTP.post('register', credentials)也应该返回一些东西。

我使用JSON.stringify发送数据,你直接发送对象,所以

 register(credentials) { HTTP.post('register', credentials); } 

 register(credentials) { HTTP.post('register', JSON.stringify(credentials)); }