Запрос CORS не удался - реагирует - PullRequest
0 голосов
/ 25 сентября 2018

Я делаю этот запрос API, используя axios в ReactJS

 axios.post(`${API_URL}/valida_proximo`, {
  id: images.map(image => image.id)
  },
  getAxiosConfig())
// this.setState({ images, loadingAtribuiImagens: false})
}

. Он действительно хорошо работает в Google Chrome, но в Firefox я получаю сообщение об ошибке:

Блокировка перекрестного запроса:Та же политика происхождения запрещает чтение удаленного ресурса на http://localhost:5000/valida_proximo. (причина: запрос CORS не был выполнен). [Узнать больше]

Что я могу сделать?

Это мойAPI

  @blueprint.route('', methods=['POST', ])
  @jwt_required()
  def index():
    if request.json:
    id_usuarioImagem = request.json.get('id')
    imagens_selecionadas = 


UsuarioImagem.query.filter(UsuarioImagem.id.in_(id_usuarioImagem)).all()

    if imagens_selecionadas:
        for imagem_selecionada in imagens_selecionadas:
            imagem_selecionada.batido=True
        db.session.commit()
        return 'ok', 200
return 'error', 400

Ответы [ 3 ]

0 голосов
/ 26 сентября 2018

Я не слишком знаком с Axios, но похоже, что вы отправляете запрос из своего React в свой бэкэнд Flask.Если внешний и внутренний интерфейсы находятся на разных портах (например, ваш Flask работает на PORT 5000), то вы делаете запрос CORS.

С CORS, в зависимости от того, что вы публикуете, вам может понадобиться включить некоторые заголовки Access-Control в ваш объект ответа Flask.Вы можете сделать это либо вручную, либо просто установив pip и используя пакет 'flask-cors'.Импортируйте пакет в свою фабрику приложений и используйте его следующим образом (см. Их документацию для получения дополнительной информации):

from flask_cors import CORS

def create_app(test_config=None):
    app = Flask(__name__, instance_relative_config=True)
    CORS(app) 

Запрос также может быть «предварительно просвечен» запросом «OPTIONS», также в зависимости от характера.вашего поста.Было бы полезно больше информации

0 голосов
/ 07 декабря 2018

Это ошибка в Firefox.если вы перейдете по ссылке ( MDN ) в сообщении об ошибке.вы найдете:

Что пошло не так?

HTTP-запрос, использующий CORS, не удался, поскольку не удалось установить HTTP-соединение на уровне сети или протокола.Эта ошибка не имеет прямого отношения к CORS, но является фундаментальной сетевой ошибкой.

, которую я прочитал при сбое подключения, а не с настройками CORS.вам просто нужно будет игнорировать сообщение об ошибке, пока firefox не исправит его.

Ошибка связана с обновлением страницы и длинными запросами на опрос или сервисными работниками и запросами на опрос.

0 голосов
/ 25 сентября 2018

Ошибки CORS обычно связаны с междоменными запросами и чем-то, что не настроено на прием запроса на стороне получателя запроса.Тот факт, что Chrome работает, но Firefox не кажется странным.

Этот метод я использовал:

  • Откройте браузер Firefox и загрузите страницу.
  • Выполните операцию, которая вызывает ошибку Cross Origin Request Security (CORS).
  • Откройте firebug и скопируйте URL, который выдает ошибку Cross Origin Request Security (CORS).
  • Загрузите этот же URL в другую вкладку в том же браузере Firefox.
  • Один разВы открываете URL-адрес в другой вкладке и попросите добавить сертификат.

После добавления сертификата устранится ошибка Cross Origin Request Security (CORS), и теперь эта ошибка не будет возникать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...