php或者nginx解決跨域問題
阿新 • • 發佈:2018-12-20
注意:nginx或php配置其中一種就可以了
在nginx中新增(註釋部分):.
location / { #以下跨域設定 if ( $request_method = OPTIONS ) { add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods GET,POST,PUT,PATCH,DELETE,OPTIONS,HEAD; add_header Access-Control-Allow-Headers Origin,X-Requested-With,Content-Type,Accept,Authorization; return 200; } #以上跨域設定 try_files $uri $uri/ /index.php?$args; }
在php控制器(建議寫在通用控制器中或者入口頭部)中新增:
通用控制器新增:
public function init() { parent::init(); //允許所有來源訪問 header('Access-Control-Allow-Origin:*'); //允許訪問的方式 header('Access-Control-Allow-Method:GET,POST,PUT,PATCH,DELETE,HEAD,OPTIONS,HEAD'); //允許自定義的頭部引數 header("Access-Control-Allow-Headers:Origin,X-Requested-With,Content-Type,Accept,Authorization"); }
或者直接在入口檔案頭部新增:
//允許所有來源訪問
header('Access-Control-Allow-Origin:*');
//允許訪問的方式
header('Access-Control-Allow-Method:GET,POST,PUT,PATCH,DELETE,HEAD,OPTIONS,HEAD');
//允許自定義的頭部引數
header("Access-Control-Allow-Headers:Origin,X-Requested-With,Content-Type,Accept,Authorization");