0

I am trying to pass some data to my serverMiddleware using axios but I can't seem to be able to get the data in my serverMiddleware

guilds page script:

<script>
export default {
  async fetch() {
    const token = 'testToken'
    const guilds = await this.$axios.$post('/api/guilds', { token })
  }
}
</script>

serverMiddleware:

import axios from 'axios'
import express from 'express'

const router = express.Router()

const app = express()
router.use((req, res, next) => {
  Object.setPrototypeOf(req, app.request)
  Object.setPrototypeOf(res, app.response)
  req.res = res
  res.req = req
  next()
})

router.post('/', (req, res) => {
  console.log(req)
})

export default {
  path: '/api/guilds',
  handler: router
}
sebasaenz
  • 1,917
  • 2
  • 20
  • 25
Syntle
  • 5,168
  • 3
  • 13
  • 34

1 Answers1

1

Token should be an object of key-value.

 async fetch() {
   const token = 'testToken'
   const guilds = await this.$axios.$post('/api/guilds', { token: token })
 }

Then you can take it from req.body in serverMiddleware.

Naomi Messing
  • 638
  • 6
  • 18