php 进行跨域操作

本地配置两个域名:

http://www.concent.com   主域名

http://s.concent.com/       子域名

 

在主域名下添加跨域代码:

ini_set('session.cookie_domain','.concent.com'); // 设置子域名也有效
$origin = isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : '';
header("Access-Control-Allow-Headers: VERSION,token,If-Modified-Since,currentcity,currentprovince, Content-Type");
header("Access-Control-Allow-Methods: HEAD,GET,POST,DELETE,PUT,OPTIONS");

$allow_origin = array(
    'http://localhost:8088',
    'http://s.concent.com',   // 允许跨域 的名单
);
if (in_array($origin, $allow_origin)) {
    header('Access-Control-Allow-Origin:' . $origin);
    header('Access-Control-Allow-Credentials:true');
}
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
    exit;
}

 

子域名下 ajax 请求:

<script src='https://code.jquery.com/jquery-3.0.0.min.js'></script>
<button οnclick='tests()'>当前在子域名下测试获取session</button>
<script>
  function tests() { $.ajax({ type: 'get', url: 'http://www.concent.com/apiact/basics', data: '', xhrFields: {withCredentials: true}, // 携带 cookie 参数 //crossDomain: true, success: function(msg){ console.log(msg); } });
  }
</script>

会发现携带了cookie参数(和主域名返回的保持一致):

 

 

测试 在主域名登录,然后 切换到子域名下也显示登录成功了:

 

点击下载相关文档

 laravel 指定路由进行跨域操作:http://www.tech1024.com/original/2994.html

转载于:https://www.cnblogs.com/xdtx/p/9633115.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值