社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  MongoDB

MongoDB数据已更新,但Axios正在获取旧数据

Sujoy • 5 年前 • 1479 次点击  

当用户在EditProfile组件中更新其配置文件时,数据将在服务器中更新,用户将重定向到UserProfile组件。现在在userprofile中,用户数据是从服务器获取的。这是我得到的旧数据。但如果我刷新页面,就会得到更新的数据。

//API

router.post('/:uid/edit', (req, res) => {
const updatedUser = {
    name : req.body.name,
    avatar : req.body.avatar,
    bio : req.body.bio
};
 console.log('updateduser',updatedUser);
 User.findOneAndUpdate({uid: req.params.uid}, {$set: updatedUser}, 
 {"new":true})
     .then(user => {
         res.json(user);
         console.log(user);
        })
     .catch(err => {
         console.log('er',err);
     });
});

/行动

 export const usersFetchData = (url) => {
 return (dispatch) => {
    dispatch(userIsLoading(true));
    axios
        .get(url)
        .then(res => {
            if(!res){
                throw Error(res.statusText)
            }
            dispatch(userIsLoading(false));
            console.log(res.data); //getting old data 
            return res.data;    
        })
        .then(users => {
            console.log('users',users);
            dispatch(usersFetchDataSuccess(users))
        })
        .catch(() => dispatch(userHasErrored(true)));
}
}
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/42916
 
1479 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Akrion
Reply   •   1 楼
Akrion    6 年前

很可能是因为 axios 缓存。查看Axios设置中的内容,以及

'Cache-Control': 'no-cache' 

被设置。通常通过:

var config = {headers: {'Content-Type': 'application/json','Cache-Control' : 'no-cache'}};

axios.get('/get', config)  // <-- config

如果这不起作用,您可以总是在请求后附加一个时间戳,以确保它总是发出请求。