跨域开发过程中,遇到options(预请求)请求,服务端接收后报错,需要后台对options请求过滤

浏览器请求中出现options请求原因:浏览器对跨域请求中出现简单跨域请求和复杂跨域请求的处理

XMLHttpRequest会遵守同源策略,(不同源地址之间默认不能相互发送ajax请求)

跨域:协议(http://) 子域名(www) 主域名(baidu.com) 端口号(:8080) 一个不同便是跨域请求

CORS(跨域资源共享)

浏览器将CORS请求分为两类:简单请求和非简单请求

简单请求 浏览器不会触发预检测请求,而非简单请求则会触发预请求(options)


满足以下条件属于简单请求

  1. 请求方式只能是GET、POST、HEAD
  2. HTTP请求头限制这几种字段(Accept、Accept-Language、Content-Type、DPR、Downlink、Save-Data、Viewport-Width、Width)
  3. Content-Type:只能取application/x-www-form-urlencoded、multipart/form-data、text/plain
  4. 请求中的任意XMLHttpRequestUpload对象均没有注册任何事件监听器;XMLHttpRequestUpload对象可以使用
  5. 请求中没有使用ReadableStream对象

一般的,使用过程中,在跨域的情况下,设置的Content-Type为application/json,所以出现了非简单请求,需要后台配合将options预请求过滤处理即可

HTTP中的options请求详解相关推荐

  1. 前端面试之 options 请求详解

    概述 options 请求就是预检请求,可用于检测服务器允许的 http 方法.当发起跨域请求时,由于安全原因,触发一定条件时浏览器会在正式请求之前自动先发起 OPTIONS 请求,即 CORS 预检 ...

  2. Android中的四大组件详解

    Android中的四大组件详解 我们都知道Android系统应用层框架中,为开发者提供了四大组件来便于应用的开发,它们是Activity.Service.BroadcastReceiver.Conte ...

  3. fetch 请求详解

    转载:前后端数据交互(四)--fetch 请求详解 - 前端人 - 博客园 fetch 是 XMLHttpRequest 的升级版,使用js脚本发出网络请求,但是与 XMLHttpRequest 不同 ...

  4. keep alive PHP,vue中keep-alive使用方法详解

    这次给大家带来vue中keep-alive使用方法详解,vue中keep-alive使用的注意事项有哪些,下面就是实战案例,一起来看一下. 1.keep-alive的作用以及好处 在做电商有关的项目中 ...

  5. C++ 中的this指针详解及实例

    C++ 中的this指针详解及实例 这篇文章主要介绍了C++ 中的this指针详解及实例的相关资料,this指针是类的一个自动生成.自动隐蔽的私有成员,它存在于类的非静态成员中,指向被调用函数所在的对 ...

  6. Java多线程编程中Future模式的详解

    转载自 https://www.cnblogs.com/winkey4986/p/6203225.html Java多线程编程中,常用的多线程设计模式包括:Future模式.Master-Worker ...

  7. JSP 中EL表达式用法详解

    EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有EL都是以${ ...

  8. JavaEE基础(03):Http请求详解,握手挥手流程简介

    本文源码:GitHub·点这里 || GitEE·点这里 一.Http协议简介 1.概念说明 HTTP超文本传输协议,是用于从万维网服务器传输超文本到本地浏览器的传送协议,基于TCP/IP通信协议来传 ...

  9. iOS中MVC等设计模式详解

    iOS中MVC等设计模式详解 在iOS编程,利用设计模式可以大大提高你的开发效率,虽然在编写代码之初你需要花费较大时间把各种业务逻辑封装起来.(事实证明这是值得的!) 模型-视图-控制器(MVC)设计 ...

最新文章

  1. docker 安装oracle_Windows系统下安装Docker,包你满意!
  2. javascript实现小九九乘法口诀
  3. 北航计算机考博C语言真题_北京航空航天大学计算机考研:严厉的老父亲,教会你本事,本科非211以上就不要去了...
  4. 王式安概率论与数理统计基础课手写笔记-第一章概率与事件-第二章随机变量及其分布
  5. 9、MySQL中SQL语句的大小写规则
  6. sqlite数据库的char,varchar,text,nchar,nvarchar,ntext的区别
  7. 怎样看Linux字体所在目录,Linux下列出所有字体的目录
  8. 计算理论 形式语言与自动机_下推式自动机(PDA)| 计算理论
  9. 汇编语言语句及其格式
  10. 卷组删除pv_CentOS下删除一个卷组(VG)
  11. 安装和客户端证书颁发---puppet系列
  12. 【备忘】年薪50万2017年最新北风网Spark2.0从入门到精通教程
  13. 修改Matlab主题的几种方式
  14. 在Linux中连接和使用云存储的三种途径
  15. 5分绩点转4分_泪目!老詹儿子凌晨5点起身训练,科比女儿4点,魔术师叹息退出群聊...
  16. 一个挺好用的生成GIF格式图片的小程序
  17. 同城信息发布小程序开发制作
  18. 集合之比较接口器+Map家族的HashMap+LinkedHashMap+Hashtable+ConcurrentHashMap
  19. linux 删除乱码文件名的文件
  20. java中io流,Reader和Writer,InputStream和OutputStream,转换流 InputStreamReader 和 OutputStreamWriter

热门文章

  1. python 中的numpy_Python中numpy的应用
  2. 硅谷:大火是这样烧起来的!
  3. PCA(Principal Component Analysis)主成分分析数学原理
  4. sqlserver varbinary to base64
  5. 域名解析、映射以及添加SSL证书
  6. 励志:12位早起的IT大佬们让小伙伴们都惊呆了
  7. ISP Tuning—高通Chromatix6
  8. HTTP 错误 404.2 - Not Found(由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。)
  9. MySQL基础教程 包含SQL语句、约束、表关系、设计范式、多表、事务等
  10. 爬取听书网有声小说音频数据