使用axios时遇到的Request Method: OPTIONS请求,会同时发送两次请求问题
生活随笔
收集整理的這篇文章主要介紹了
使用axios时遇到的Request Method: OPTIONS请求,会同时发送两次请求问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
新接手的一個項目中,發現一些接口在請求時,會自動發送一個
Request Method: OPTIONS的請求,我查了一遍代碼,不是代碼中寫明的。就上網搜了一下,網上給出的解釋涉及到了兩個關鍵詞:
簡單請求和復雜請求。
簡單請求和復雜請求。
簡單請求
滿足下面兩個條件的請求是簡單請求:
- HEAD
- GET
- POST
- 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请求,会同时发送两次请求问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Dubbo本地调用
- 下一篇: 通过反射给属性赋值代码示例