Javascript 为什么Fetch API将第一个PUT请求作为选项发送

Javascript 为什么Fetch API将第一个PUT请求作为选项发送,javascript,fetch-api,Javascript,Fetch Api,我正在尝试使用香草发出corsPUT请求 当我单击我的按钮发送PUT请求时,第一个请求的方法是OPTIONS。只有当我再次单击按钮时,请求上的方法才会更改为PUT。为什么? 我知道这是CORS预飞行的一部分,但是有没有办法手动触发预飞行,以便缓存选项响应 这种行为是否表明某个地方的承诺失败了?请参阅,一节 注意:这实际上是检查的用户代理实现,以查看是否理解。所谓的。如果成功,它将填充以最小化这些获取的数量 在步骤1至7;另外。您阅读了规范吗?是的,我已经阅读了规范。我想知道这是如何处理的——我是

我正在尝试使用香草发出
cors
PUT请求

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

我知道这是CORS预飞行的一部分,但是有没有办法手动触发预飞行,以便缓存选项响应

这种行为是否表明某个地方的承诺失败了?

请参阅,一节

注意:这实际上是检查的用户代理实现,以查看是否理解。所谓的。如果成功,它将填充以最小化这些获取的数量


在步骤1至7;另外。

您阅读了规范吗?是的,我已经阅读了规范。我想知道这是如何处理的——我是否需要检查已经发送的请求,看看它是否是选项请求,然后再次发送?规范是否不清楚?不,不清楚。飞行前抓取是手动还是自动进行的?您是否可以包括您正在尝试的
javascript
?您可以手动执行请求,如果从可以收集的数据来看,飞行前请求是自动发生的
fetch(“url”,{method:“OPTIONS”})。然后(response=>response.headers)。然后(_headers=>Array.from(_headers.entries(),h=>console.log(h)))。catch(err=>console.error(err))
,否则,从读取规范时,将发生网络错误。如果从您的解释来看,规范不明确,您会建议搜索类似问题,或在