首页 > 解决方案 > 在 vuejs、vuex 中获取 406(不可接受的错误)

问题描述

我正在做一个项目,我在浏览器中收到 406(不可接受)错误。我正在使用 vuejs,vuex 框架。验证.vue 代码:

<template>
  <div>
    <usernav/>
    <div class="container">
    <h1 style="padding:90px;"> Enter OTP</h1>
    <div>
      <mdb-input label="OTP" v-model="value" />
      <br />
      <mdb-btn color="info" @click="verify()">Verify</mdb-btn>
    </div>
    </div>
  </div>
</template>

<script>
import { mdbInput, mdbBtn } from 'mdbvue'
import usernav from './user_nav'
export default {
  name: 'otp',
  components: {
    mdbInput,
    mdbBtn,
    usernav
  },
  data () {
    return {
      value: ''
    }
  },
  methods: {
    verify () {
      this.$store.dispatch('VERIFY', {
        otp: this.value
      }).then(success => {
        console.log('success')
      }).catch(error => {
        console.log(error)
      })
    }
  }
}
</script>

<style scoped>
.container {
  width: 500px;
}
</style>

verify.js 代码:

import { isAuthenticated } from './auth'
import axios from 'axios'

export default ({
  state: {
  },
  mutations: {
  },
  actions: {
    VERIFY: (payload) => {
      return new Promise((resolve, reject) => {
        const userId = isAuthenticated().user._id
        const token = isAuthenticated().token
        console.log(userId)
        console.log(token)
        axios
          .post(`https://onu-backend.herokuapp.com/api/onu/user/${userId}/verifyEmail`, payload, {
            headers: {
              Authorization: 'Bearer ' + token
            }
          }).then(response => {
            if (response.status === 200) {
              console.log(response)
              resolve(true)
            }
          }).catch(error => {
            reject(error)
          })
      })
    }
  }
})

isAuthenticated 代码:

export const isAuthenticated = () => {
  if (localStorage.getItem('auth')) {
    return JSON.parse(localStorage.getItem('auth'))
  }
  return false
}

我得到的错误:错误图像

谁能告诉我为什么会出现这个错误?代码中使用的 api 与邮递员交叉检查并且工作正常。我认为发送不记名令牌存在一些问题。请帮忙。

标签: javascriptvue.jsauthorizationvuexbearer-token

解决方案


推荐阅读