有不少剛學Vue的童鞋們可能會遇到請求Api接口時出現跨域的問題(也會有運氣好沒有遇到的),這篇文章僅供參考,這是在詢問了前端的朋友後寫的。
解決前端跨域的問題有兩種情況,一個是開發環境,另外一個是線上生產環境。
目前開發環境的跨域問題還沒有解決,有知道的童鞋麻煩告知一聲。只知道要配置服務器代理,但是按照網上的教程配置完後還是沒有效果,求大神告知。
另外一種情況是線上生產環境使用cors解決跨域的問題。
這種方法開發環境和線上生產環境都適用,這裏一PHP來進行說明:
在非框架中
//json頭
header("Content-type: application/json");
//跨域
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Origin: 跨域URL");
//CORS
header("Access-Control-Request-Methods:GET, POST, PUT, DELETE, OPTIONS");
header('Access-Control-Allow-Headers:x-r
在框架中,以yii2.0框架來舉例說明:
在控制器中添加如下代碼,具體配置根據自己的需求進行配置
public function behaviors()
{
return ArrayHelper::merge([
[
'class' => Cors::className(),
'cors' => [
'Origin' => ['*'],
'Access-Control-Request-Method' => [],
'Access-Control-Request-Headers'=>['*']
],
],
], parent::behaviors());
}
有什麼不到之處,請各位大神即時指出