У меня возникает ошибка в моем веб-приложении при попытке обновить объект базы данных:
Доступ к XMLHttpRequest в «http://localhost:3001' от источника» http://localhost:8080' заблокирован политикой CORS: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».
Это сетевые запросы: Предполетный запрос ; запрос PUT ;
Я использую Slim для маршрутизации сервера, Vue для клиентской маршрутизации и axios для соединения с БД.
Кажется, что в ответе отсутствует заголовок разрешения источника, но у меня установлен сервер для его отправки:
$app->add(function ($req, $res, $next) {
$response = $next($req, $res);
return $response
->withHeader('Access-Control-Allow-Origin', '*')
->withHeader('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, Accept, Allow, Origin, Authorization, Access-Control-Allow-Origin')
->withHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, PATCH, OPTIONS');
});
Который работает с объектами разного статуса (табличное значение). Я подозреваю, что он не использует этот ответ для объектов этого определенного статуса, но он использует ту же форму и методы. Я не понимаю, почему он использовал бы другой ответ.
Обновление
Таблица, которую я пытаюсь обновить (документ), служит внешним ключом для другой таблицы (поправка) в БД. Я обнаружил, что если я отсоединяю поправку от документа, обновление работает. Может быть, ошибка CORS является ложноположительным?