一、OPTIONS请求产生原因
Preflighted 请求
与简单请求
不同,Preflighted 请求
首先会向服务器发送一个Options
请求,以验证是否对指定服务有访问权限,之后再发送实际的请求。Preflighted 请求
具有以下特点:
1. 除GET
、HEAD
、POST
方法外,XHR都会使用Preflighted 请求
。使用POST
方法向服务器发送数据时,Content-Type
使用application/x-www-form-urlencoded
、multipart/form-data
或text/plain
之外编码格式也会使用Preflighted 请求
。
2. 使用了自定义的HTTP Headers
后,也会使用Preflighted 请求
。
3. 在XMLHttpRequest对象发送OPTIONS
请求并验证完信息后,才最终发送了实际的POST
请求。
二、解决方法
解决跨域资源共享(CORS),跨域 HTTP 请求,首先有一个OPTIONS请求问题就解决啦