如何解决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错误
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。