如何在 axios nuxt 模块中使用基本身份验证
How to use basic auth with axios nuxt module
我目前正在努力使用 Nuxt 的 Axios 模块:https://axios.nuxtjs.org/。
我想从必须使用基本身份验证的特定端点获取一些数据。
通常,使用 Axios,我会做类似的事情:
await axios.get(
'http://endpoint',
{},
{
withCredentials: true,
auth: {
username: 'userame',
password: 'pw'
}
}
)
不幸的是,使用 Nuxt 的 Axios 模块,似乎并不那么容易...
我试过类似的东西:
const data = await this.$axios.$get(
'http://endpoint',
{},
{
credentials: true,
auth: {
username: 'user',
password: 'pw'
}
}
)
但这给我留下了 401 Unauthorized
...
我在这里错过了什么?
axios.get()
(和 $axios.$get()
)的第二个参数是 Axios 配置,但您已将其作为第三个参数(即被有效忽略)。 API 可能会省略 axios.get()
中的数据参数,因为数据不适用于此上下文。
解决方案是用您的配置替换第二个参数:
const data = await this.$axios.$get(
'http://endpoint',
// {}, // <-- Remove this! 2nd argument is for config
{
credentials: true,
auth: {
username: 'user',
password: 'pw'
}
}
)
我目前正在努力使用 Nuxt 的 Axios 模块:https://axios.nuxtjs.org/。 我想从必须使用基本身份验证的特定端点获取一些数据。
通常,使用 Axios,我会做类似的事情:
await axios.get(
'http://endpoint',
{},
{
withCredentials: true,
auth: {
username: 'userame',
password: 'pw'
}
}
)
不幸的是,使用 Nuxt 的 Axios 模块,似乎并不那么容易... 我试过类似的东西:
const data = await this.$axios.$get(
'http://endpoint',
{},
{
credentials: true,
auth: {
username: 'user',
password: 'pw'
}
}
)
但这给我留下了 401 Unauthorized
...
我在这里错过了什么?
axios.get()
(和 $axios.$get()
)的第二个参数是 Axios 配置,但您已将其作为第三个参数(即被有效忽略)。 API 可能会省略 axios.get()
中的数据参数,因为数据不适用于此上下文。
解决方案是用您的配置替换第二个参数:
const data = await this.$axios.$get(
'http://endpoint',
// {}, // <-- Remove this! 2nd argument is for config
{
credentials: true,
auth: {
username: 'user',
password: 'pw'
}
}
)