为什么Fetch API将第一个PUT请求作为OPTIONS发送

时间:2017-02-18 04:22:52

标签: javascript fetch-api

我正在尝试使用vanilla Fetch API

发出cors PUT请求

当我单击我的按钮发送PUT请求时,第一个请求的方法是OPTIONS。只有当我再次单击该按钮时,请求上的方法才会更改为PUT。为什么呢?

我知道这是CORS预检的一部分,但有没有办法手动触发预检,以便可以缓存OPTIONS响应?

这种行为是否表明某处失败的承诺?

1 个答案:

答案 0 :(得分:3)

请参阅Fetch Standard4.7. CORS-preflight fetch部分。

  

注意 :这实际上是检查的用户代理实施,以查看是否了解CORS protocol。所谓的CORS-preflight request。如果成功,则填充CORS-preflight cache以最小化这些提取的数量。

在步骤1到7;还4.8. CORS-preflight cache