服務器端PHP允許跨域


解決跨域的關鍵是設置 Access-Control-Allow-Origin
例如:客戶端的域名是 api.itbsl.com,而請求的域名是www.itbsl.com
如果直接使用ajax訪問,會有以下錯誤:

XMLHttpRequest cannot load http://www.itbsl.com/server.php. No 'Access-Control-Allow-Origin' header is present on the requested resource.Origin 'http://api.itbsl.com' is therefore not allowed access.

1.允許單個域名訪問
指定某域名http://api.itbsl.com跨域訪問,則只需在http://www.itbsl.com/server.php文件頭部添加如下代碼:

header('Access-Control-Allow-Origin:http://api.itbsl.com');

2.允許多個域名訪問
指定多個域名 http://api.itbsl.comhttp://doc.itbsl.com等 跨域訪問,則只需在http://www.itbsl.com/server.php文件頭部添加如下代碼:

$origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : '';  
  
$allow_origin = array(  
    'http://api.itbsl.com',  
    'http://doc.itbsl.com'  
);  
  
if(in_array($origin, $allow_origin)){  
    header('Access-Control-Allow-Origin:'.$origin);       
}

3.允許所有域名訪問
允許所有域名訪問則只需在http://www.itbsl.com/server.php文件頭部添加如下代碼:

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


免責聲明!

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



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