javascript - 为什么我的 fetch 请求被调用了两次?
问题描述
API = {
get_processed_autodesk_results : function(){
fetch('/api/results', {
method: 'get',
headers: {
'Accept': 'application/json, text/plain, */*',
'Content-Type': 'application/json'
}
}).then(res=>res.json())
.then(function(res) {
console.log(res);
});
}
}
setInterval(API.get_processed_autodesk_results,5000);
那是我的代码。我检查了控制台,发现 fetch 请求每 5 秒执行两次。我无法弄清楚为什么会这样。任何人都可以帮忙吗?提前致谢
解决方案
您看到的附加提取请求是在OPTIONS
请求中传递标头时发生的请求(飞行前请求)。
与“简单请求”(上面讨论过)不同,“预检”请求首先通过 OPTIONS 方法向另一个域上的资源发送 HTTP 请求,以确定实际请求是否可以安全发送。跨站点请求是这样预检的,因为它们可能对用户数据有影响。
您可以测试带有和不带有标头的请求,并通过在此处检查开发人员工具来查看会发生什么:
推荐阅读
- elixir - Elixir - 合并列表元素
- python - Python unittest - 在我的 setUpClass 方法中使用父类方法?
- python - 如何获得沿轴的 5 个张量的平均值?
- webpack - 强制 webpack-dev-server 重新加载
- ios - 替换来自json请求目标c的双引号
- python - 如何使用 OpenCV 将一些 png 文件转换为视频?
- c++ - 对象只是c ++中的一块内存吗?
- google-bigquery - 如何跟踪从 biguquery UI 执行的查询的所有者和时间戳
- java - 通过 Flutter 的平台通道发送数据太慢
- laravel - 如何在 laravel 门面 redis 中使用 redis“内存使用键名”命令?我们可以使用除内存命令之外的所有命令