"Chrome的network中無法顯示OPTIONS請求"的解決方案



#事故現場

在前端發送一個跨域請求的時候,要先發送個options請求,從而獲知服務端是否允許該跨域請求。

跨域資源共享標准新增了一組 HTTP 首部字段,允許服務器聲明哪些源站有權限訪問哪些資源。另外,規范要求,對那些可能對服務器數據產生副作用的 HTTP 請求方法(特別是 GET 以外的 HTTP 請求,或者搭配某些 MIME 類型的 POST 請求),瀏覽器必須首先使用 OPTIONS 方法發起一個預檢請求(preflight request),從而獲知服務端是否允許該跨域請求。服務器確認允許之后,才發起實際的 HTTP 請求。在預檢請求的返回中,服務器端也可以通知客戶端,是否需要攜帶身份憑證(包括 Cookies 和 HTTP 認證相關數據)。

在實際的代碼調試時,發現chrome的network中看不到OPTIONS請求,但是用wireshark抓包是可以看到OPTIONS請求,又檢查了下chrome,也沒有設置Filter,這就奇怪了!!!

#分析及解決方法

  • 分析
    換用其他瀏覽器調試,可以看到OPTIONS請求,說明是chrome的設置問題;
  • 解決方法
    在chrome地址欄總輸入 chrome://flags/#out-of-blink-cors
    在這里插入圖片描述
    將其設置為Disabled ,並重啟chrome即可;

#參考



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM