vue.js vuex商店中的授权有问题

问题描述

我正在编写代码以使用axios调用api。因此,对于此代码,我必须将otp和授权令牌一起发送到api。我正在使用vuex商店。 我收到406错误(不适用)。这是我编写的代码

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

export default ({
  state: {
  },mutations: {
  },getters: {

  },actions: {
    VERIFY: (payload) => {
      const userId = isAuthenticated().user._id
      return axios
        .post(apilink,payload,{
          headers: {
            'Content-Type': 'application/json',Authorization: `Bearer ${isAuthenticated().token}`,Accept: 'application/json'
          }
        }).then(response => {
          console.log(response)
          return response.data
        })
        .catch(error => {
          if (error) {
            console.log(error)
          }
        })
    }
  },modules: {
  }
})
<template>
<mdb-btn color="info" @click="verify()">Verify</mdb-btn>
</template>

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js">
  data () {
    return {
      value: ''
    }
  },methods: {
    verify () {
      this.$store.dispatch('VERIFY',{
        otp: this.value
      }).then(success => {
        console.log(success)
      }).catch(error => {
        console.log(error)
      })
    }
  }
</script>

我认为这是授权部分的问题。请帮助我。

解决方法

isAuthenticated是用于从localStorage获取数据的功能

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

,

由于删除“ Accept:'application / json'”后,尝试在标头中输入Accept参数,出现406错误

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...