PHP跨域問題解決方案

首先,我們要明白什麼是跨域:
跨域,指的是瀏覽器不能執行其他網站的腳本。它是由瀏覽器的同源策略造成的,是瀏覽器施加的安全限制。

瀏覽器的同源策略:
同源是指,域名,協議,端口均相同,有任一不相同皆將造成跨域

明白了這些,我們來說說解決跨域問題的兩種方案
1,header設置允許跨域(推薦)
     後端代碼設置:
          

//  指定允許其他域名訪問
header('Access-Control-Allow-Origin:*');
// 響應類型
header('Access-Control-Allow-Methods:GET, POST, OPTIONS');
// 響應頭設置
header('Access-Control-Allow-Credentials:false');


      
      前端ajax內設置:
        

$.ajax({
     type: "POST",
     crossDomain: true,   //允許跨域請求
     ...
     ...
     ...
})


2,代理
比如www.aaa.com/index.html  需要調用  www.bbb.com/index.php。可以寫接口www.aaa.com/index.php來請求 www.bbb.com/index.php,
在讓www.aaa.com/index.html直接請求www.aaa.com/index.php, 相當於自己做了代理訪問,這樣不經過瀏覽器自然不會有同源限制

3,nginx反向代理
    可以自行查閱下資料
4,前端vue的webpack代理
    可以自行查閱下資料

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