我将Axios GET与标头access_token传递给Laravel API一起使用,效果很好。创建使用POST的另一种方法后,并创建Axios POST,并传入标头access_token,但它返回错误“未经身份验证”。 我可以知道如何解决这个问题吗?谢谢。
我尝试用相同的方法将GET更改为POST,而GET成功,但是POST仍然返回错误“未经身份验证”。
getEmployeeClockInPosition = async () => {
let GET_EMPLOYEE_COMPANY_POSITION = 'http://localhost/get-employee-company-location';
await axios.post(GET_EMPLOYEE_COMPANY_POSITION, {
headers: {
'Content-Type' : 'application/json',
'Authorization' : 'Bearer '+ this.props.authState.accessToken,
'Accept' :'application/json',
},
userID: this.props.authState.id,
})
.then(res => {
console.log(res.data);
})
.catch(function(error) {
console.log(error);
});
}
Route::group(['middleware' => 'auth:api'], function() {
Route::post('/get-employee-company-location','Clocking\DashboardController@getEmployeeCompanyLocation');
});
答案 0 :(得分:1)
根据官方documentation,axios.post
的参数应按以下顺序排列:
axios.post(url[, data[, config]])
在您的情况下,请在数据之前提供发布配置。
请尝试这种方法:
let postData = {
userID: this.props.authState.id
}
let config = {
headers: {
'Content-Type' : 'application/json',
'Authorization' : 'Bearer '+ this.props.authState.accessToken,
'Accept' :'application/json'
}
}
axios.post(GET_EMPLOYEE_COMPANY_POSITION, postData, config)