php 中解决跨域:设置 access-control-allow-origin 头部,指定允许访问的源;设置 access-control-allow-methods 头部,指定允许的 http 方法;设置 access-control-allow-headers 头部,指定允许携带的 http 标头;设置 access-control-max-age 头部,指定跨域请求的缓存时间。
PHP 跨域设置
跨域是指浏览器限制不同源的脚本相互访问。在 PHP 中,可以通过设置 HTTP 头部来允许跨域访问。
解决方法:
- 设置 Access-Control-Allow-Origin 头部
在 PHP 脚本中,使用 header() 函数设置 Access-Control-Allow-Origin 头部,指定允许跨域访问的源。
<?php header('Access-Control-Allow-Origin: *'); ?>
指定特定域名:
<?php header('Access-Control-Allow-Origin: https://example.com'); ?>
- 设置 Access-Control-Allow-Methods 头部
指定允许跨域访问的 HTTP 方法。默认情况下,只允许 GET 和 POST 方法。
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE');
- 设置 Access-Control-Allow-Headers 头部
指定允许跨域请求中携带的 HTTP 标头。默认情况下,只允许 Content-Type 标头。
header('Access-Control-Allow-Headers: Content-Type');
- 设置 Access-Control-Max-Age 头部
指定跨域请求的缓存时间,单位为秒。浏览器将缓存这些设置,避免频繁的跨域请求。
header('Access-Control-Max-Age: 3600');
注意:
- 以上设置必须在向客户端发送任何数据之前进行。
- PHP 脚本必须位于允许跨域访问的服务器上。
- 跨域请求也可能受浏览器同源策略的限制。