问题描述
我正在编写代码以使用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错误