每次单击注册按钮时,都会出现此错误:
Uncaught (in promise) TypeError: __WEBPACK_IMPORTED_MODULE_0__services_Api__.a.post is not a function
AuthenticationService.js 具有以下代码:
import Api from '@/services/Api'
export default {
register (credentials) {
return Api.post('register', credentials)
}
}Run Code Online (Sandbox Code Playgroud)
Api.js 有以下代码:
import axios from 'axios'
export default () => {
return axios.create({
baseURL: `http://localhost:8081/`
})
}Run Code Online (Sandbox Code Playgroud)
这是 app.js 的代码:
console.log('Sup?')
const express = require('express')
const bodyParser = require('body-parser')
const cors = require('cors')
const morgan = require('morgan')
const app = express()
app.use(morgan('combined'))
app.use(bodyParser.json())
app.use(cors())
app.post('/register', (req, res) => {
res.send({
message: `${req.body.email} Registered!`
})
})
app.listen(process.env.PORT || 8081)Run Code Online (Sandbox Code Playgroud)
Register.vue 有这个代码:
<template>
<div>
<h1>Register</h1>
<input
type="email"
name="email"
v-model="email"
placeholder="email"/>
<br>
<input
type="password"
name="password"
v-model="password"
placeholder="password"/>
<br>
<button @click="register">
Register
</button>
</div>
</template>
<script>
import AuthenticationService from '@/services/AuthenticationService'
export default {
data () {
return {
email: '',
password: ''
}
},
methods: {
async register () {
await AuthenticationService.register({
email: this.email,
password: this.password
})
console.log('done!')
}
}
// watch: {
// email (value) {
// console.log('email changed: ', value)
// }
// }
}
</script>Run Code Online (Sandbox Code Playgroud)
Index.js 有这个:
import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import Register from '@/components/Register'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
name: 'Hello',
component: HelloWorld
},
{
path: '/register',
name: 'register',
component: Register
}
]
})Run Code Online (Sandbox Code Playgroud)
层次结构如下:项目层次结构
你可以在这个链接上获得这个项目: VueDev
小智 6
我有同样的问题,我猜问题在这里:
import Api from '@/services/Api'
export default {
register (credentials) {
return Api.post('register', credentials)
}
}
Run Code Online (Sandbox Code Playgroud)
但应该有:
import Api from '@/services/Api'
export default {
register (credentials) {
return Api().post('register', credentials)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13646 次 |
| 最近记录: |