【发布时间】:2022-01-04 22:25:08
【问题描述】:
我正在向使用 CodeIgniter 4 构建的 API 发送跨源请求。
请求来自 axios.post() 使用 React。
作为使用content-type application/json的axios.post,请求并不简单,它发送了一个preflight / options请求。
现在我明白了
No 'Access-Control-Allow-Origin' header is present on the requested resource.
我将以下内容添加到我的app/Controllers/Basecontroller.php:
<?php
namespace App\Controllers;
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: Authorization, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method");
header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE");
$method = $_SERVER['REQUEST_METHOD'];
if ($method == "OPTIONS") {
die();
}
// ...
但这并不能解决我的问题。
我现在想知道放置标题的最佳位置是什么?
另外,为什么我要问,我有不同的控制器用于不同的目的,一个应该允许放置和删除,另一个不应该。
【问题讨论】:
标签: php codeigniter cors preflight