我正在使用与Redux集成的React Antive Expo构建Android应用程序。使用fetch方法调用API,但始终显示缓存结果。服务器未第二次接收请求。我尝试使用以下代码禁用缓存。
export const mymails = (token) => {
return fetch(
API_URL+'?random_number='+ new Date().getTime(), {
method: 'GET',
headers: getHeaders(token)
})
.then(response => response.json());
};
getHeaders = (token) => {
return {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Authorization': 'Token token='+token,
'Cache-Control': 'no-cache, no-store, must-revalidate',
'Pragma': 'no-cache',
'Expires': 0
};
}
当我通过Postman客户端调用API时,我会看到不同的结果(未缓存)。我尝试将随机数添加为参数和设置高速缓存控制标头,但仍返回缓存结果。还有我可以尝试的其他任何东西吗?
谢谢
您如何设置标题以获取请求。
尝试以下内容,
您可以在官方获取API
中按照相同的链接进行链接
const mymails = (token) => {
var myHeaders = new Headers();
myHeaders.set('Accept', 'application/json');
myHeaders.set('Content-Type', 'application/json');
myHeaders.set('Authorization', 'Token token=' + String(token));
myHeaders.set('Cache-Control', 'no-cache');
myHeaders.set('Pragma', 'no-cache');
myHeaders.set('Expires', '0');
return fetch(
API_URL + '?random_number=' + new Date().getTime(), {
method: 'GET',
headers: myHeaders
})
.then(response => response.json());
};