新接手的一个项目中,发现一些接口在请求时,会自动发送一个

Request Method: OPTIONS

的请求,我查了一遍代码,不是代码中写明的。就上网搜了一下,网上给出的解释涉及到了两个关键词:

简单请求和复杂请求。

简单请求复杂请求

简单请求

满足下面两个条件的请求是简单请求:

  1. 请求方式是以下三种之一:
  • HEAD
  • GET
  • POST
  1. HTTP的头信息不超出以下几种字段
  • Accept
  • Accept-Language
  • Content-Language
  • Last-Event-ID
  • Content-Type

但是Content-Type的值,只限于三个值:
application/x-www-form-urlencoded、multipart/form-data、text/plain

复杂请求

非简单请求就是复杂请求。
复杂请求的CORS请求,会在正式通信之前,增加一次HTTP查询请求,称为“预检”请求(preflight)。预检请求为OPTIONS请求,用于向服务器请求权限信息。预检请求被成功响应后,才会发出真实请求,携带真实数据。

axios默认请求就是application/json,所以不需要自己加上头部(不需要在config中加headers),所以总是会发出options请求的,看看是不是配置的时候加了不必要的headers配置项。
另外,如果真的需要预检,后台也需要进行设置,允许options请求。

原文:https://www.jianshu.com/p/9e52ca6b8818

使用axios时遇到的Request Method: OPTIONS请求,会同时发送两次请求问题相关推荐

  1. axios请求发送两次请求_vue使用axios发送请求,都会发送两次请求

    vue 使用axios,每次的请求都会发送两次,第一次的请求头为options CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sha ...

  2. axios每次发送请求会有两次,多一次Request Method: OPTIONS是怎么回事?

    现在vue项目中使用axios发送http请求,每次请求都会多一次Request Method: OPTIONS请求,然后才是get/post请求,请问这个是后台的问题还是我这边axios请求的问题? ...

  3. Request Method: OPTIONS

    新接手的一个项目中,发现一些接口在请求时,会自动发送一个的请求,我查了一遍代码,不是代码中写明的.就上网搜了一下,网上给出的解释涉及到了两个关键词:简单请求和复杂请求. Request Method: ...

  4. 为什么浏览器请求一个接口有两次其中一次是Request Method: OPTIONS

    Request Method: OPTIONS 刚接触前端的时候,以为HTTP的Request Method只有GET与POST两种,后来才了解到,原来还有HEAD.PUT.DELETE.OPTION ...

  5. Ajax 请求中出现OPTIONS(Request Method: OPTIONS)

    背景 做上传文件功能时,在请求上传文件接口之前,会发送一个options的请求. 原因 ajax 请求遵循同源策略(协议.域名.端口必须一致),若突破该限制,会产生跨域行为,设置Access-Cont ...

  6. JAVA解决OPTIONS请求问题:跨域时ajax发送两次请求,其中options预请求参数为null及其解决方案

    转载请注明出处 原文链接:https://blog.csdn.net/qq_39309348/article/details/103267908 在正式跨域的请求前,浏览器会根据需要,发起一个&quo ...

  7. 调试web项目时Chrome浏览器发送两次请求

    最近调试web项目时,项目有时候会因为接收到空值而报错,之后我发现是因为Chrome浏览器会连续发送2次请求导致. 在使用Edge浏览器则没有出现这个问题,遂搜索了一些解决方案如下: https:// ...

  8. vue axios跨域 Request Method: OPTIONS问题

    今天做跨域登录功能遇到这个问题(后端已做跨域处理): 当跨域请求为post时候,请求的method变为了options. 在这里插入图片描述 其实跨域分为 简单跨域请求和复杂跨域请求: 简单跨域请求是 ...

  9. axios发起请求,为什么先发送options请求,再发送get/post请求

    引起原因 1,跨域: 2,请求头非默认情况. 默认请求头如下 Accept Accept-Language Content-Language Last-Event-ID Content-Type:只限 ...

最新文章

  1. 第二十二讲 延迟定理(补充)
  2. 海南工会云会员认证_好消息!海南农民工春节返乡最高有300元补贴!申请条件和流程→...
  3. innerText,outerText,innerHTML,outerHTML区别
  4. 基于哈夫曼编码完成的文件压缩及解压
  5. Nginx部署静态页面及引用图片有效访问的两种方式
  6. Exchange2010 owa 访问 http 500 内部服务器错误
  7. 【Pygame】屏幕图形绘制
  8. poj Shortest Prefixes ——trie树、字典树,基础!!
  9. dynamips常用命令
  10. 实时渲染和离线渲染的区别
  11. 机器学习与数据挖掘的区别(一点个人理解)
  12. 浅谈JavaScript面向对象编程(转自酷勤网)
  13. Excel如何快速筛选?
  14. 随机数字信号处理实验报告三——Levinson和Burg递推法MATLAB实现
  15. LED灯光照明控制协议(系统)- DALI
  16. 【云原生之k8s】kubeadm搭建k8s集群
  17. 《Dreamweaver CS6 完全自学教程》笔记 第十章:表单的使用
  18. JWPlayer Flash播放器如何实现视频分段载入播放从而节省带宽?
  19. 复习删除数组中的重复元素
  20. unknown filesystem解决方案

热门文章

  1. 【Python基础】Python 面向对象编程(上篇)
  2. 【Python基础】如何编写简洁美观的Python代码
  3. 【Flask】快速入门后台写接口【API】
  4. spring框架 AOP核心详解
  5. 步步为营 .NET 代码重构学习笔记 三、内联方法(Inline Method)
  6. Hyper-V 的导入和导出
  7. yum与rpm的详解 --用来安装软件
  8. Java使用javax.mail.jar发送邮件并同意发送附件
  9. linux下MySQL与jdk安装
  10. MATLAB 人脸定位