使用 fetch API 忽略条件 GET
Posted
技术标签:
【中文标题】使用 fetch API 忽略条件 GET【英文标题】:Conditional GET ignored with fetch API 【发布时间】:2021-03-02 19:15:27 【问题描述】:我正在使用 Discord.js/Node.js 获取和解析 RSS 提要 (https://www.mangaupdates.com/rss.php)。我目前正在尝试添加一个有条件的If-Modified-Since
标头来向RSS 提要发出一个有条件的GET 请求。这是我的代码:
fetch(mangaUpdatesRSS,
method: 'GET',
headers: 'If-Modified-Since': new Date().toUTCString()
)
.then(res =>
console.log(res.status);
响应状态始终为200
,即使它应该仅在自调用fetch
命令时被修改后才发出请求。
【问题讨论】:
这是否适用于 RSS 提要仅在有更新时获取 【参考方案1】:即使请求的资源是最新的,Fetch API 也会在内部将 304
替换为 200
。你对此无能为力。
查看Recognize HTTP 304 in service worker / fetch()
【讨论】:
这似乎没有解决问题。它仍然输出 200。我还认为 fetch API documentation 说cache
默认为 no-store
如果 If-Modified-Since
设置为标题以上是关于使用 fetch API 忽略条件 GET的主要内容,如果未能解决你的问题,请参考以下文章
Discord API 告诉我:“401:未经授权”,当我使用 Google 脚本进行 GET 时:“UrlFetchApp.fetch()”
错误:使用 Fetch API 向第三方 API 发出 GET 请求时出现“TypeError:无法获取”
如何使用 fetch 从一个模块导出从 GET API 获得的响应数据到另一个模块