跨域请求中的options请求,在以往的项目中有注意到,但是今天因为一个问题,卡了2小时才解决,这么久的时间足以说明我对这个问题并没有充分的理解和认识,为此写下这篇文章警示自己,同时也给碰到问题的同学提供一些思路。
跨域请求的三种方式
XHR对象对于HTTP跨域请求有以下三种方式
- 简单请求
- Preflighted 请求
- Preflighted 认证请求
1、简单请求
简单请求进行跨域访问时,XMLHttpRequest对象会直接将实际请求发送给服务器,和一般请求没有差别。但是,要达成简单请求,请求中必须满足下面的所有要求
- 以下请求方法之一
- GET
- HEAD
- POST
- 不可使用自定义的请求头字段,除了以下被规定的字段
- Accept
- Accept-Language
- Content-Language
- Content-Type
- DPR
- Downlink
- Save-Data
- Viewport-Width
- Width
- Content-Type 的值仅限于下列三者之一: