公告
  
欢迎回来!目前网站流量日益增多服务器负载太大,迫不得已开启邀请码注册,此为赞助,所得费用来续费服务器,感谢支持

朕已阅

常规使用
网站首页
最新动态
板块列表
悬赏大厅
个人中心
任务中心
推广中心
待添加
占位哈哈
占位哈哈
占位哈哈
占位哈哈
占位哈哈
占位哈哈
占位哈哈
占位哈哈
占位哈哈
首页 动态 发帖 版块 我的
 退出
游客  
等级:
绿豆:
经验:
×
首页  /  技术交流  /  技术杂文  /  正文

php程序出现接口访问跨域的解决办法

  305 
 0
 0

我们通常在进行接口调用时,会出现报错:

Access to XMLHttpRequest at ‘http:/xxxxxxxxxx from origin ‘http://xxxxxxxxxx’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.

这种错误就是表示出现了跨域。那么什么是跨域访问呢?

就是不同域名,端口之间相互调用数据,会出现验证失败的情况。

那么应该怎么解决跨域报错请求呢?
其实很简单,在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');
借鉴其他答案,多域名实现跨域:

// 可跨域域名列表
$domains = [
'http://localhost:8080',
'http://test.qqqqq.cn',
];
$origin = isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : '';
if (in_array($origin, $domains)) {
header('Access-Control-Allow-Origin:' . $origin);
}
// 允许的请求头信息
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization");
//在请求头里加上需要允许的 header("Access-Control-Allow-Headers: Origin, 名称);
// 允许的请求类型
header('Access-Control-Allow-Methods: GET, POST, PUT,DELETE,OPTIONS,PATCH');
// 允许携带证书式访问(携带cookie)
header('Access-Control-Allow-Credentials:true');
以上就是关于php出现接口跨域的解决办法。

标签:
作者签名: 本人分享的文件以后会根据文件大小来进行分流地址下载,小于30MB的文件将不会进行分流分享,悉知!   楼主  2023-07-19 19:00:11
回复列表
Powered by HadSky 8.4.7
© 2021-2024 绿软之家
您的IP:18.117.233.160,2024-10-18 11:42:06,Processed in 0.05746 second(s).
拒绝任何人以任何形式在本网站发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表本站立场!
网站内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如内容侵害到你的权益,请联系我们!
本站资源均来自用户或互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
Powered by HadSky 8.4.7
© 2021-2024 绿软之家
ICP备案湘ICP备2020018726号-3
公安备案湘公网安备 43041202000037号
(0) 收藏文章