//方式一:
//方式二:如果要允许多个地址跨域请求可以这样写
- header("Access-Control-Allow-Origin: *");//允许所有地址跨域请求
//设置允许的请求方法,可以用*表示所有,
- $origin = ['http://localhost:8080','http://localhost:8081'];
- $AllowOrigin = 'http://localhost:8080';
- if(in_array($_SERVER["HTTP_ORIGIN"],$origin))
- {
- $AllowOrigin = $_SERVER["HTTP_ORIGIN"];
- }
- header("Access-Control-Allow-Origin: ".$AllowOrigin );
//如果允许请求携带cookie,此时 origin配置不能用 *,此时前端似乎也要做配置,让请求中携带cookie
- header("Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE");
//设置允许跨域的请求头,通常会在请求头里面加登录验证信息,那么服务端需要指定允许那些请求头,这里不能用*,多个字段用逗号隔开。
- header('Access-Control-Allow-Credentials:true');
允许headers
- header('Access-Control-Allow-Headers:token');
- header('Access-Control-Allow-Headers:x-requested-with,content-type');
js允许跨域一般是jsonp方式,其他方式比较少用
文章点评