原文:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS
当请求满足下述任一条件时,即应首先发送预检请求:
- 使用了下面任一 HTTP 方法:  
- PUT
 - DELETE
 - CONNECT
 - OPTIONS
 - TRACE
 - PATCH
 
 - 人为设置了对 CORS 安全的首部字段集合之外的其他首部字段。该集合为:
- Accept
 - Accept-Language
 - Content-Language
 - Content-Type (需要注意额外的限制)
 - DPR
 - Downlink
 - Save-Data
 - Viewport-Width
 - Width
 
 - Content-Type 的值不属于下列之一:
- application/x-www-form-urlencoded
 - multipart/form-data
 - text/plain
 
 - 请求中的XMLHttpRequestUpload 对象注册了任意多个事件监听器。
 - 请求中使用了ReadableStream对象。
 
XMLHttpRequestUpload 对象注册了任意多个事件监听器,如上传进度监听:
var xhr = new XMLHttpRequest();
xhr.upload.onprogress = function (e) {}这是浏览器默认行为,无法取消,需要接口针对
OPTIONS请求做处理