最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何强制axios不缓存在GET请求中

IT培训 admin 13浏览 0评论

如何强制axios不缓存在GET请求中

我在React-Native应用程序中使用axios

首先,配置标题

function configHeaders()
{
    // I tested all these below 3 lines , no on worked
    axios.defaults.headersmon["Pragma"] = "no-cache";
    axios.defaults.headersmon["Cache-Control"] = "no-cache";
    axios.defaults.headersmon["Cache-Control"] = "no-store";
}

从以下请求返回的数据是旧数据,而不是我数据库中的当前数据

exports.getInfo = async function ()
{
    configHeaders();
    return await cachios.get(URL + '/user/info').then(data => {
        return { success : true , data : data.data.data.user };
    }).catch(err => {
        return { success : false , message : err.response.data.message };
    });
}
回答如下:

您可以尝试在URL中添加缓存无效化-强制将每个请求视为新请求:

const cacheBuster = (url) => `${url}?cb=${Date.now()}`;
exports.getInfo = async function ()
{
    configHeaders();
    return await cachios.get(cacheBuster(URL + '/user/info')).then(data => {
        return { success : true , data : data.data.data.user };
    }).catch(err => {
        return { success : false , message : err.response.data.message };
    });
}

如何强制axios不缓存在GET请求中

我在React-Native应用程序中使用axios

首先,配置标题

function configHeaders()
{
    // I tested all these below 3 lines , no on worked
    axios.defaults.headersmon["Pragma"] = "no-cache";
    axios.defaults.headersmon["Cache-Control"] = "no-cache";
    axios.defaults.headersmon["Cache-Control"] = "no-store";
}

从以下请求返回的数据是旧数据,而不是我数据库中的当前数据

exports.getInfo = async function ()
{
    configHeaders();
    return await cachios.get(URL + '/user/info').then(data => {
        return { success : true , data : data.data.data.user };
    }).catch(err => {
        return { success : false , message : err.response.data.message };
    });
}
回答如下:

您可以尝试在URL中添加缓存无效化-强制将每个请求视为新请求:

const cacheBuster = (url) => `${url}?cb=${Date.now()}`;
exports.getInfo = async function ()
{
    configHeaders();
    return await cachios.get(cacheBuster(URL + '/user/info')).then(data => {
        return { success : true , data : data.data.data.user };
    }).catch(err => {
        return { success : false , message : err.response.data.message };
    });
}
发布评论

评论列表 (0)

  1. 暂无评论