Я пытаюсь получить nuxt с работающими axios.Я делаю следующий почтовый запрос (store / index.js):
login({ commit }, { username, password }) {
const data = JSON.stringify({
password
, username
})
console.log('store login ', username, password)
this.$axios.post('http://localhost:3000/api/login', data)
.then(res => {
commit('SET_USER', res.data)
})
.catch(error => {
console.log(error.response)
})
}
Мой бэкэнд выглядит так (api / auth.js):
const express = require('express')
const session = require('express-session')
const body_parser = require('body-parser')
const app = express()
const router = express.Router()
app.use(body_parser.json())
app.use(body_parser.urlencoded({ extended: true }))
app.use(session({
secret: 'keyboard cat',
resave: false,
saveUninitialized: false
}))
router.post('/login', (req, res) => {
console.log('try to login ', req.body)
if (!req.body)
return res.status(401).json({ message: 'No body' })
if (req.body.username === 'demo' && req.body.password === 'demo') {
req.session.auth_user = { username: 'demo' }
console.log('logged in')
return res.json({ username: 'demo' })
}
res.status(401).json({ message: 'Bad credentials' })
})
Моя проблема в том, чтоreq.body всегда не определено.Но в сообщении об ошибке я вижу, что параметры отправлены.(config.data)
У кого-нибудь есть идеи, по которым я скучаю?Я использую body-parser и проверил все 100 раз.Я думаю, это что-то совершенно очевидно, но я не вижу этого.
Мой nuxt.config.js:
module.exports = {
...
modules: [
'@nuxtjs/axios'
, '@nuxtjs/auth'
],
router: {
middleware: ['auth']
},
serverMiddleware: ['@api/auth']
...
}