在与前端对接cocos H5开发的小游戏时,遇到了错误: No 'Access-Control-Allow-Origin' header is present on the requested resource. 不能跨域请求.
cocos h5 使用了XMLHttpRequest 来模拟http请求, 网上搜了一些解决方案,最终使用设置Access-Control-Allow-Origin来实现跨域.这种方式比较简单不过为了安全起见,最好设置跨域白名单.
header('content-type:application:json;charset=utf8');
$origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : '';
// 允许访问域名
$allow_origin = array(
'http://www.client.com',
'http://www.client2.com'
);
if(in_array($origin, $allow_origin)){
// 设置允许跨域访问
header('Access-Control-Allow-Origin:'.$origin);
// 响应类型
header('Access-Control-Allow-Methods:POST');
// 响应头设置
header('Access-Control-Allow-Headers:x-requested-with,content-type');
}