php解决前端访问接口跨域问题

相信很多同僚都碰到过接口跨域问题

首先我们要知道什么是跨域

所谓同源是指,域名,协议,端口均相同,不明白没关系,举个例子:
http://www.123.com/index.html 调用 http://www.123.com/server.php (非跨域)这样的不是跨域
http://www.123.com/index.html 调用 http://www.456.com/server.php (主域名不同:123/456,跨域)
http://abc.123.com/index.html 调用 http://def.123.com/server.php (子域名不同:abc/def,跨域)
http://www.123.com:8080/index.html 调用 http://www.123.com:8081/server.php (端口不同:8080/8081,跨域)
http://www.123.com/index.html 调用 https://www.123.com/server.php (协议不同:http/https,跨域)

这些问题令我们很烦恼,其实很简单,在php中设置头就行

        header("Access-Control-Allow-Origin: *");
        header("Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE");
        header('Access-Control-Allow-Headers:Origin,Content-Type,Accept,token,X-Requested-With,device');
        //三个都要 下面两个更重要 

你可能感兴趣的:(php解决前端访问接口跨域问题)