vue axios跨域請求發(fā)送兩次問題(PHP后端解決)

vue axios跨域請求發(fā)送兩次問題

問題:

vue axios跨域請求,在Request Headers加Authorization傳遞Token時(shí),發(fā)現(xiàn)統(tǒng)一請求觸發(fā)了兩次,第一次是OPTIONS請求。第二次才是POST請求。

原因:

跨域請求時(shí),瀏覽器會(huì)首先使用OPTIONS方法發(fā)起一個(gè)預(yù)請求,判斷接口是否能夠正常通訊。如果通訊異常,則不會(huì)發(fā)送真正的請求,如果測試通訊正常,則開始真正的請求。

OPTIONS不傳任何參數(shù),導(dǎo)致接口報(bào)錯(cuò), 第二次的POST請求不會(huì)正常發(fā)送,導(dǎo)致跨域的產(chǎn)生。

解決辦法:


        header('Access-Control-Allow-Origin:*');

        header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Connection, User-Agent, Cookie,token,Uid");

        header('Access-Control-Allow-Methods: PUT,POST,GET,DELETE,OPTIONS');

        if($this->request->method() === "OPTIONS"){

        exit;

        }

先對OPTIONS的建議做出處理,如果等于OPTIONS,直接不處理。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容