我有一个用于登录的api,它的工作原理如下。要进行api调用,我必须像这样添加授权basic auth
。
身体
但是问题是当我通过axios发出api请求时,它总是给我这样的响应错误
Error: "Request failed with status code 401"
createError createError.js:17
settle settle.js:19
handleLoad xhr.js:60
我提出了类似要求。
//TODO: AUTH Actions
export const login = (username, password) => (dispatch) => {
//User Loading:
dispatch({ type: USER_LOADING });
//Make API Call here
console.log('featch adata', data);
axios.post('https://api.smartocart.com/oauth/token', {
data: {
username: username,
password: password,
grant_type: 'password',
},
auth: {
username: 'topseller',
password: 'topseller'
}
})
.then((res) => {
console.log('Then response', res)
}).catch(err => {
console.log(err)
})
// console.log('Action login', username, password);
}
答案 0 :(得分:0)
如前所述,尝试将config对象作为.post函数的第三个参数,Request post主体应为第二个参数。 https://github.com/axios/axios#axiosposturl-data-config-1
您正在尝试类似axios.post(url, config)
之类的方法,但是没有该功能。您应该使用axios.post(url, data, config)
axios.post('https://api.smartocart.com/oauth/token',
{
username: username,
password: password,
grant_type: 'password',
},
{
auth: {
username: 'topseller',
password: 'topseller'
}
}
).then((res) => {
console.log('Then response', res)
}).catch(err => {
console.log(err)
})