Обработка cors по запросу DELETE при передаче идентификатораPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Обработка cors по запросу DELETE при передаче идентификатора

Сообщение Anonymous »

Я только изучаю PHP/MySQL/Apache и пытаюсь создать простую систему CRUD с помощью ReactJs, но получаю ошибку cors при передаче параметра в метод DELETE с использованием fetch API и не могу понять это out.
У меня настроены заголовки, позволяющие разрешить происхождение cors, и он отлично работает с GET, POST и даже DELETE без параметра, но если я попытаюсь передать параметр в конечную точку, я получите ошибку Cors.
Это работает:

Код: Выделить всё

// JS
fetch('http://localhost/crud/api/', {
method: 'DELETE'
})

// PHP
public function handleDelete() {
$db = new Database();

$db->delete('usuarios', 21);
$db->close();
}
Это не так:

Код: Выделить всё

//JS
fetch('http://localhost/crud/api/21', {
method: 'DELETE'
})

// PHP
public function handleDelete() {
$db = new Database();

$uriSegments = explode('/', $_SERVER['REQUEST_URI']);
$userId = $uriSegments[3];

$db->delete('usuarios', $userId);
$db->close();
}
Вот мои заголовки:

Код: Выделить всё

header('Content-Type: application/json');
header('Access-Control-Allow-Origin: http://192.168.18.23:3000');
header('Access-Control-Allow-Methods: GET, POST, DELETE, PUT, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type');
Ошибка:

Доступ для загрузки по адресу «http://localhost/crud/api/21» из origin
'http://192.168.18.23:3000' заблокирован политикой CORS: ответ
на предполетный запрос не проходит проверку контроля доступа: No
'Access-Control-Allow Заголовок -Origin' присутствует в запрошенном
ресурсе. Если вам подходит непрозрачный ответ, установите для режима запроса
значение «no-cors», чтобы получить ресурс с отключенным CORS.


Подробнее здесь: https://stackoverflow.com/questions/790 ... sing-an-id
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»