天天看點

前後端分離,SpringBoot攔截器中,擷取的請求頭token為NULL問題解決

背景:

在做前後端分離時,牽扯到跨域,但是已經設定了跨域

前端設定了允許攜帶Cookie

axios.defaults.withCredentials = true;

後端也配置了跨域:

浏覽器端檢視發送的請求,請求頭中包含Authorization

前後端分離,SpringBoot攔截器中,擷取的請求頭token為NULL問題解決

 但是在後端攔截器中擷取的參數總是為null

前後端分離,SpringBoot攔截器中,擷取的請求頭token為NULL問題解決
前後端分離,SpringBoot攔截器中,擷取的請求頭token為NULL問題解決

原因:

實際上發送了兩次請求,第一次為OPTIONS請求,第二次才GET/POST...請求

在OPTIONS請求中,不會攜帶請求頭的參數,是以在攔截器上擷取請求頭為空,自定義的攔截器攔截成功

第一次請求不能通過,就不能擷取第二次的請求了GET/POST...

第一次請求不帶參數,第二次請求才帶參數

解決:

在攔截器中,如果請求為OPTIONS請求,則傳回true,表示可以正常通路,然後就會收到真正的GET/POST請求

繼續閱讀