在 Ubuntu 上,要使 PHP 实现跨域请求,你可以使用 PHP 的头信息函数来设置 CORS(跨来源资源共享)相关的响应头。以下是一个简单的示例:
cross_domain.php
的文件:<?php
// 设置允许跨域请求的域名,* 表示允许所有域名进行跨域请求
header("Access-Control-Allow-Origin: *");
// 设置允许的请求方法,例如 GET, POST, PUT, DELETE 等
header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS");
// 设置允许的请求头字段,例如 Content-Type, Authorization 等
header("Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With");
// 如果是预检请求(OPTIONS 请求),直接返回成功状态
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
header("HTTP/1.1 200 OK");
exit();
}
// 你的业务逻辑代码
echo "Hello, this is a cross-domain request!";
?>
将 cross_domain.php
文件上传到你的 Ubuntu 服务器上的 Web 目录(例如 /var/www/html
)。
在前端代码中,你可以使用 AJAX 或 Fetch API 发起跨域请求。例如,使用 JavaScript 的 Fetch API:
fetch('http://your_server_ip_or_domain/cross_domain.php')
.then(response => response.text())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
这样,你的 PHP 代码就可以实现跨域请求了。请注意,为了安全起见,你应该根据实际需求设置允许的域名、请求方法和请求头字段,而不是使用通配符 *
。