Axios 获取授权在 Vue 中不起作用但在 POSTMAN 上起作用(Vue 上的 Post 方法起作用)
Axios Get Authorization Not Working In Vue But Worked on POSTMAN (Post method on vue worked)
我在客户端使用 vue。不知何故,授权不适用于 axios 中的 Get 方法。我尝试使用 POSTMAN,它的工作方式应该如此。有没有可能我错过了什么?
getCurrentPeriode() {
return new Promise((resolve, reject) => {
axios.get(TABLE_NAME,{params: {"X-API-KEY": API_KEY, command:"getCurrent"}}, {
headers:{
'Authorization': `Basic ${token}`
}
})
.then((response) => {
resolve(response.data[0])
}) .catch(err => {
reject(err.response.data)
})
})
}
令牌:
const token = Buffer.from(`${username}:${password}`, 'utf8').toString('base64')
我收到此错误:未捕获(承诺){状态:假,错误:“未经授权”}
在 postman 中(有效):
我已经在 axios 中尝试使用 post 方法并且它正在工作。是的,我已经设置了 CORS。是的,我在我的服务器端允许使用 Get 方法(因为它在 postman 中工作)
Post 方法正常工作,代码如下:
postNewPeriode(date) {
return new Promise((resolve, reject) => {
const data = new FormData()
data.append("dateStart", date.dateStart)
data.append("dateEnd", date.dateEnd)
data.append("X-API-KEY",API_KEY)
axios.post(TABLE_NAME,data, {
headers:{
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": `Basic ${token}`
}
})
.then((response) => {
resolve(response)
}) .catch(err => {
reject(err.response.data)
})
})
},
我是不是在 axios get 中遗漏了什么,或者我应该使用不同的方法?谢谢回答
对于Axios GET,headers应该是第二个参数,而对于PUT和POST,body是第二个,headers是第三个,因为你做到了。
尝试使用 headers 作为 GET 的第二个参数。
这应该有效:
axios.get( TABLE_NAME,
{
headers:{'Authorization': `Basic ${token}`},
params: {"X-API-KEY": API_KEY, command:"getCurrent"}
}
)
我在客户端使用 vue。不知何故,授权不适用于 axios 中的 Get 方法。我尝试使用 POSTMAN,它的工作方式应该如此。有没有可能我错过了什么?
getCurrentPeriode() {
return new Promise((resolve, reject) => {
axios.get(TABLE_NAME,{params: {"X-API-KEY": API_KEY, command:"getCurrent"}}, {
headers:{
'Authorization': `Basic ${token}`
}
})
.then((response) => {
resolve(response.data[0])
}) .catch(err => {
reject(err.response.data)
})
})
}
令牌:
const token = Buffer.from(`${username}:${password}`, 'utf8').toString('base64')
我收到此错误:未捕获(承诺){状态:假,错误:“未经授权”}
在 postman 中(有效):
我已经在 axios 中尝试使用 post 方法并且它正在工作。是的,我已经设置了 CORS。是的,我在我的服务器端允许使用 Get 方法(因为它在 postman 中工作)
Post 方法正常工作,代码如下:
postNewPeriode(date) {
return new Promise((resolve, reject) => {
const data = new FormData()
data.append("dateStart", date.dateStart)
data.append("dateEnd", date.dateEnd)
data.append("X-API-KEY",API_KEY)
axios.post(TABLE_NAME,data, {
headers:{
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": `Basic ${token}`
}
})
.then((response) => {
resolve(response)
}) .catch(err => {
reject(err.response.data)
})
})
},
我是不是在 axios get 中遗漏了什么,或者我应该使用不同的方法?谢谢回答
对于Axios GET,headers应该是第二个参数,而对于PUT和POST,body是第二个,headers是第三个,因为你做到了。 尝试使用 headers 作为 GET 的第二个参数。
这应该有效:
axios.get( TABLE_NAME,
{
headers:{'Authorization': `Basic ${token}`},
params: {"X-API-KEY": API_KEY, command:"getCurrent"}
}
)