为什么我的提取请求被调用两次?

时间:2018-04-25 18:59:55

标签: javascript

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);

这是我的代码。我检查控制台,看到获取请求每5秒执行两次。我无法弄清楚为什么会这样。有人可以帮忙吗?提前致谢

2 个答案:

答案 0 :(得分:1)

您看到的其他获取请求是OPTIONS请求(转机前请求),该请求在请求中传递标头时发生。

Excerpt from MDN

  

与“简单请求”(如上所述)不同,"预先发布"要求   首先通过OPTIONS方法向资源发送HTTP请求   另一个域,以确定实际的请求是否   安全发送。跨站点请求是这样的预检,因为它们   可能会对用户数据产生影响。

您可以使用和不使用标题测试请求,并通过检查开发人员工具来查看会发生什么:

https://jsfiddle.net/219n4a0b/

答案 1 :(得分:0)

我也遇到了类似的问题,但事实证明是因为我的路由正在通过服务工作者,该路由再次请求并返回了请求,因此服务器从主服务器获取2个请求1,从服务工作者获取另一个请求。
编辑 facepalm 是的,我是pwas的新手,所有这些都是使用return而不是responseWith()