vue中axios的兩次請求 options與get/post

在頁面交互過程中,發現axios一定機率會發送兩次請求,一次是自己設置的請求方式,還有一次是options。 
關於這個問題,在各個網站尋求原因,得出以下結論: 
跨域資源共享標準新增了一組 HTTP 首部字段,允許服務器聲明哪些源站有權限訪問哪些資源。另外,規範要求,對那些可能對服務器數據產生副作用的 HTTP 請求方法(特別是 GET 以外的 HTTP 請求,或者搭配某些 MIME 類型的 POST 請求),瀏覽器必須首先使用 OPTIONS 方法發起一個預檢請求(preflight request),從而獲知服務端是否允許該跨域請求。服務器確認允許之後,才發起實際的 HTTP 請求。在預檢請求的返回中,服務器端也可以通知客戶端,是否需要攜帶身份憑證(包括 Cookies 和 HTTP 認證相關數據)。 
也就是說,它會先使用options去測試,你這個接口是否能夠正常通訊,如果不能就不會發送真正的請求過來,如果測試通訊正常,則開始正常請求。 
關於這個問題,需要在後臺進行設置,允許options請求,不然你的請求就會受到影響,後臺並作出判斷,如果請求方式爲options,告訴它可以通訊,其他直接什麼都不做。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章