php处理ajax跨域问题No ‘Access-Control-Allow-Origin‘ header is present on the requested resource

25 篇文章 0 订阅
16 篇文章 0 订阅
文章介绍了如何在PHP中处理跨域问题,包括设置HTTP头部以允许特定或所有域名访问,设置允许的请求头、HTTP方法,以及处理身份凭证。同时提到了在FastAdmin和ThinkPHP框架中设置跨域的方法。
摘要由CSDN通过智能技术生成

Access to XMLHttpRequest at 'https://www.xxx.com/' from origin 'http://www.xxx.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

要解决PHP跨域问题,可以采取以下几种方法:

  1. 设置HTTP头部:在PHP脚本中添加以下代码,允许指定的域名访问当前页面:
    header('Access-Control-Allow-Origin: http://example.com');

    http://example.com替换为允许访问的域名。如果允许所有域名访问,可以使用通配符*

    header('Access-Control-Allow-Origin: *');

  2. 设置HTTP头部包含其他允许的请求头:如果在跨域请求中使用了自定义的请求头,需要在PHP脚本中设置Access-Control-Allow-Headers头部,允许这些请求头的使用:
    header('Access-Control-Allow-Headers: Content-Type, Authorization');

  3. 支持不同的HTTP方法:如果跨域请求使用了PUT、DELETE等非标准的HTTP方法,需要在PHP脚本中设置Access-Control-Allow-Methods头部,允许这些方法的使用:
    header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE');

  4. 携带身份凭证:如果在跨域请求中需要携带身份凭证(如Cookie),需要在PHP脚本中设置Access-Control-Allow-Credentials头部为true
    header('Access-Control-Allow-Credentials: true');

    请注意,以上方法只是在PHP端解决跨域问题的一种方式。在实际开发中,还可以通过配置服务器或使用代理服务器等其他方法来解决跨域问题。

.二、框架里如何设置跨域

fastadmin框架可以在

config.php找到

cors_request_domain
//允许跨域的域名,多个以,分隔
'cors_request_domain'   => 'localhost,127.0.0.1',//你的域名 *所有

ThinkPHP在入口index.php加入

header('Access-Control-Allow-Origin:*');
header('Access-Control-Allow-Methods:GET,POST');
header('Access-Control-Allow-Headers:x-requested-with,content-type');
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PHP隔壁老王邻居

啦啦啦啦啦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值