我最近设置了一个带有CodeIgniter后端的React应用程序作为API。要使用令牌预设,我按如下方式设置axios
实例
axiosInstance() {
const token = this.getWebToken();
let instance = () => {
return axios.create({
baseURL: Constants.app.BASE_API_URL,
headers: {Authorization: `Bearer ${token}`}
});
};
return new Promise(resolve => {
resolve(instance());
});
}
稍后,我将此实例称为如下
return new Promise((resolve, reject) => {
const endpoint = `${Constants.app.BASE_API_URL}/test/base_url`;
this.apiService.axiosInstance()
.then(axios_instance => {
return axios_instance.post(endpoint)
})
.then(response => resolve(response.data))
.catch(error => reject(error));
});
PHP文件(Codeigniter)具有以下标头集
<?php
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Methods: GET, OPTIONS");
header("Access-Control-Allow-Headers: Content-Type, Content-Length, Accept-Encoding, Authorization");
这将返回405:Method not allowed错误。我在Postman中测试了它没有Authorization标头,它工作正常。我也在这里取出了Authorization标题并且它有效,但我想使用授权标题。有帮助吗? 已定义('BASEPATH')或退出('不允许直接访问脚本');