node.js - Node JS 后端在第一次请求时返回状态码 304
问题描述
我有一个节点 JS 后端,每次我重新启动应用程序时,它都会在回答我对该后端发出的第一个请求时返回状态代码 304。我已经阅读了有关状态码 304 的信息,据说这意味着请求正在获取的内容没有改变,但是,由于我在第一个请求中得到 304,我的前端实际上并没有任何有用的数据需要处理,因为它是自应用程序启动以来提出的第一个请求。我试图禁用电子标签和类似的东西,但实际上没有任何帮助,因为我无法在第一个请求中获得任何数据。
节点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);
});
}
解决方案
推荐阅读
- php - 如果类存在,则添加特色图片作为背景
- amazon-web-services - 如何使用浏览器媒体通过 RTMP 推送输入将其发送到 AWS 媒体直播
- powerbi - 矩阵的 Power BI 筛选问题
- html - 我读了这个 json 文本字符串,它拒绝用换行符显示
- attributes - Apache NiFi如何将逗号附加到属性的值
- java - 如何防止在recyclerview中调整项目大小
- python - 如何在 django 中显示登录用户的客户?
- angular - 如何使用管道运算符将合并的对象与内部可观察对象
- webrtc - 我可以保存 webrtc 报价以供将来连接吗?
- firebase - 我有我的 Firebase 图像的下载 URL,我想将它们转换为对云中图像的引用。有干净的方法吗?