vue axios跨域請求,apache服務器設置


問題所在axios請求會發送兩次請求

也就是說,它會先使用options去測試,你這個接口是否能夠正常通訊,如果不能就不會發送真正的請求過來,如果測試通訊正常,則開始正常請求。

 

思路:

跨域-->配置apache允許跨域:

1.修改http.conf   

LoadModule headers_module modules/mod_headers.so 注釋 允許設置header頭

2.設置vhost虛擬配置

Header always set Access-Control-Allow-Origin "*"

Header always set Access-Control-Allow-Methods "OPTIONS"

Header always set Access-Control-Allow-Headers "Authorization,DNT,User-Agent,Keep-Alive,Content-Type,accept,origin,X-Requested-With"

 

 

發現header頭為options     更改路由規則為options,發現network請求兩次,options請求成功,又接着post請求

 

方案一:      所以設置兩條路由規則  分別為options和post請求指向同一路由

比如:

'OPTIONS login' => 'login/login',
'POST login' => 'login/login',

 

方案二:      單獨配置OPTIONS處理方法

'OPTIONS login' => 'login/test',
'POST login' => 'login/login',

 

方案三:避免框架的加載  直接在入口文件處干掉options

web/index.php

if ( $_SERVER['REQUEST_METHOD'] == 'OPTIONS'){
    die;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM