要回答您的主要问题,如果POST或GET中包含任何非简单的内容或标头,则CORS规范仅要求OPTIONS调用位于POST或GET之前。
需要CORS飞行前请求(OPTIONS调用)的内容类型是 除以下 内容 之外的 任何内容类型:
application/x-www-form-urlenpred
multipart/form-data
text/plain
除上面列出的内容类型外,任何其他内容类型都会触发飞行前请求。
对于标头, 除以下内容外 ,任何请求标头都会触发预检请求:
Accept
Accept-Language
Content-Language
Content-Type
DPR
Save-Data
Viewport-Width
Width
其他任何请求标头都将触发飞行前请求。
因此,您可以添加一个自定义标头,例如:
x-Trigger: CORS,它应该触发飞行前请求并点击OPTIONS块。
请参阅《MDN Web API参考-CORS预检请求》



