Http預請求options

在有很多情況下,當我們在js裏面調用一次ajax請求時,在瀏覽器那邊卻會查詢到兩次請求,第一次的Request Method參數是OPTIONS,還有一次就是我們真正的請求,比如get或是post請求方式

查閱相關的資料之後發現,這是瀏覽器對複雜跨域請求的一種處理方式,在真正發送請求之前,會先進行一次預請求,就是我們剛剛說到的參數爲OPTIONS的第一次請求,他的作用是用於試探性的服務器響應是否正確,即是否能接受真正的請求,如果在options請求之後獲取到的響應是拒絕性質的,例如500等http狀態,那麼它就會停止第二次的真正請求的訪問

 

大致說明一下,有三種方式會導致這種現象:

1:請求的方法不是GET/HEAD/POST

2:POST請求的Content-Type並非application/x-www-form-urlencoded, multipart/form-data, 或text/plain

3:請求設置了自定義的header字段

比如我的Content-Type設置爲“application/json;charset=utf-8”並且自定義了header選項導致了這種情況。

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