У меня настроены заголовки, позволяющие разрешить происхождение 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
Мобильная версия