php-tp允许ajax跨域访问



在class上面加3个header

namespace app\appc\controller;
use think\Controller;
// 允许 baidu.com 发起的跨域请求
header("Access-Control-Allow-Origin: baidu.com"); 
//如果需要设置允许所有域名发起的跨域请求,可以使用通配符 *
header('Access-Control-Allow-Origin:*');   // 指定允许其他域名访问
/ 响应头允许字段设置
header('Access-Control-Allow-Headers:Authorization,TOKEN,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type, Accept-Language, Origin, Accept-Encoding');
header('Access-Control-Allow-Methods: GET,PUT,POST,OPTION');//指定允许的提交方式

class Base extends Controller{}
/*
apache应用header中Authorization参数需要在 .htaccess文件中增加
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
*/



//php中设置允许跨域请求
// 单域名允许 baidu.com 发起的跨域请求
header("Access-Control-Allow-Origin: baidu.com");
$origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : '';  
// 多域名单允许 baidu.com,www.baidu.com 发起的跨域请求
$allow_origin = array(
    'http://baidu.com',
    'http://www.baidu.com'
);  
  
if(in_array($origin, $allow_origin)){
    header('Access-Control-Allow-Origin:'.$origin);
} 
//如果需要设置允许所有域名发起的跨域请求,可以使用通配符 *
header('Access-Control-Allow-Origin:*');// 指定允许其他域名访问
header('Access-Control-Allow-Headers:x-requested-with,content-type');// 响应头设置
header('Access-Control-Allow-Methods: GET,PUT,POST');//指定允许的提交方式 
-------------------------------------------------------------------------------------------------------------------------

你可能感兴趣的:(php-tp允许ajax跨域访问)