ubuntu

ubuntu上php如何实现跨域请求

小樊
41
2025-07-29 19:33:26
栏目: 编程语言

在 Ubuntu 上,要使 PHP 实现跨域请求,你可以使用 PHP 的头信息函数来设置 CORS(跨来源资源共享)相关的响应头。以下是一个简单的示例:

  1. 创建一个名为 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!";
?>
  1. cross_domain.php 文件上传到你的 Ubuntu 服务器上的 Web 目录(例如 /var/www/html)。

  2. 在前端代码中,你可以使用 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 代码就可以实现跨域请求了。请注意,为了安全起见,你应该根据实际需求设置允许的域名、请求方法和请求头字段,而不是使用通配符 *

0
看了该问题的人还看了