В запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».

У меня есть три вызова ajax (POST, GET и PUT), которым предшествует предварительный запрос (ВАРИАНТЫ). Вызов POST создает пользователя, вызов GET считывает пользователя, а вызов PUT изменяет этого пользователя. Все они связаны вызовами с .then(). Все запросы являются междоменными, и сервер внедрил CORS. Все запросы делаются из одного источника на один и тот же сервер (все на один и тот же ресурс), но только запрос PUT провоцирует ошибку в заголовке. Фильтр в бэкенде для изменения заголовка одинаков для всех запросов (POST, GET, PUT, DELETE), поэтому я действительно не знаю, почему запрос отменяется. Кроме того, предварительный запрос, который предназначен для подтверждения того, что сервер разрешает выполнение запроса PUT, не имеет проблем и возвращается с благоприятным исходным кодом разрешения доступа...

Я также заметил, что Chrome отменяет запрос PUT (возможно, потому, что источник не разрешен) введите здесь описание изображения

Надеюсь, вы можете мне помочь :D


person Community    schedule 15.11.2013    source источник
comment
Содержат ли настройки заголовка для Access-Control-Allow-Methods также PUT?   -  person Max    schedule 16.11.2013
comment
Выстрел в темноте: ответ не имеет заголовка Access-Control-Allow-Origin. Взгляните на заголовки ответов на запрос PUT, сообщенные прокси-сервером, и опубликуйте их здесь.   -  person Ray Nicholus    schedule 16.11.2013
comment
Запрос PUT не имеет ответа, так как Chrome отменяет его. Предпечатный запрос PUT действительно имеет благоприятный Acess-Control-Allow-Origin.   -  person    schedule 16.11.2013
comment
Ваш ответ PUT также нуждается в заголовке Access-Control-Allow-Origin. Вы явно упускаете это из своего ответа.   -  person Ray Nicholus    schedule 17.11.2013
comment
@RayNicholus Ответа нет, Chrome отменяет его с сообщением об ошибке в консоли.   -  person    schedule 17.11.2013
comment
Нет, Chrome не отменяет запрос, может просто так показаться. Как я уже говорил, проблема в коде вашего сервера.   -  person Ray Nicholus    schedule 17.11.2013
comment
Но я использую один и тот же код для всех запросов... и только этот терпит неудачу.   -  person    schedule 17.11.2013
comment
Я предлагаю вам настроить прокси и внимательно изучить запросы и ответы. Это сделает причину проблемы более очевидной.   -  person Ray Nicholus    schedule 17.11.2013


Ответы (1)


Проблема в том, что запрос сделан, но выполнение скрипта (вероятно, PHP) не выполняется из-за какой-то ошибки до установки заголовка Access-Control-Allow-Origin.

person Lorenz    schedule 17.12.2013