Node JS 后端在第一次请求时返回状态代码 304

问题描述

我有一个节点 JS 后端,每次我重新启动应用程序时,它在回答我向该后端发出的第一个请求时都返回状态代码 304。 我已经阅读了状态代码 304 并且据说这意味着请求正在获取的内容没有改变,但是,由于我在第一个请求中得到了 304,我的前端实际上没有任何有用的数据来处理,因为它是自应用程序启动以来发出的第一个请求。 我试图禁用电子标签之类的东西,但实际上没有任何帮助,因为我无法在第一个请求中获得任何数据。

Node JS 代码如下:

router.get('/results',async function(req,res){
    const authHeader = req.headers.authorization;
    const results = [];
    for (let i = 1; i < 11; i++) {
        results.push({evaluation: i,total: 0,equipamentos: []});
    }

    if(authHeader){
        const token = authHeader.split(' ')[1];
        await jwt.verify(token,accessTokenSecret,async (err,user) =>{
            if(err){
                return res.sendStatus(403)
            }
            const db_form = client.db("mavideobo").collection("form");
            await db_form.find( {owner: jwt.decode(token).username}).toArray(function (err,result) {
                if (err) {
                    res.send(err);
                } else {
                    result.forEach(formAnswer => {
                        results[formAnswer.Evaluation - 1].total++;
                    })
                }
            })
            res.status(200).json(results);
        })
    }else{
        res.sendStatus(401);
    }
})

反应函数如下:

const getResultsData = async () => {
        setData([]);
        await fetch("/api/form/results",{
            headers: {
                Authorization: `Bearer ${sessionStorage.getItem("authToken")}`,"Content-Type": 'application/json',"Accept": 'application/json'
            }
        }).then(response => {response.json() 
            console.log(response)})
            .then(res => {
                let listResults = [];
                for (let i in res) {
                    listResults.push(res[i]["total"])
                }
                setData(listResults);
            }).catch(function (error) {
            console.log(error);
        });
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)