請求get變化為options的問題解決辦法

2021-10-01 12:10:14 字數 501 閱讀 2180

遇到問題:

專案上線後,原來的get請求的介面變成了options,且介面是200 ok.

顯然,這個介面是沒有調通的,且控制台列印了錯誤:

顯然這是關於跨域的問題

為什麼會出現請求變成options呢?

非簡單請求的cors請求,會在正式通訊之前,增加一次http查詢請求,稱為」預檢」請求(preflight),在post,put,delete傳送之前傳送乙個 options 請求,以判斷服務端是否允許這一域訪問. 

所以這是乙個正常的機制。 

這個機制下產生的現象是在觸發一次功能是會產生兩個請求,乙個options」預檢」請求,乙個後續的正式請求。在options請求成功後才會傳送後續的請求。

所以options請求後,成功,但是不允許跨域,自然就報錯了。

解決辦法:後端設定了nginx**解決跨域問題;

前端OPTIONS請求

今天在專案除錯中,需要在 裡獲取前端請求頭里的token,結果死活獲取不到。debug了半天發現前端一共傳送了兩次請求,真正的請求的第二次。options請求方法的主要用途有兩個 1 獲取伺服器支援的http請求方法 也是黑客經常使用的方法。2 用來檢查伺服器的效能。例如 ajax進行跨域請求時的預...

配置OPTIONS請求

協議 http或者https ip 埠三者都相同,則為同源,否則為跨域。跨域請求,就是這麼來的。配置options請求,有兩種情況,第一種是開發環境,第二種是測試環境 生產環境。開發環境,配置如下 配置 修改config index.js檔案 dev 修改src main.js檔案,全域性註冊,只要...

請求中的options請求

專案網域名稱和介面網域名稱不同,服務端做了 打算把token放到headers中的時候出現options 請求就詳細看了下 瀏覽器將cors請求分為兩類 簡單請求和非簡單請求,簡單請求瀏覽器不會預檢,而非簡單請求會預檢。簡單請求的請求方式只能是 get post head。http請求頭限制這幾種字...