Чаша Cors = Правда аннотация не работает? - PullRequest
0 голосов
/ 19 мая 2019

Этот вопрос конкретно о структуре чаши.Я уже знаю, что такое заголовок CORS и как читать сообщения об ошибках.Тем не менее, я нахожусь в тупике, заставляя это работать с Chalice.

Мой маршрут определен как:

@app.route('/list-photos', methods=['GET'], cors=True)

, и я получаю к нему доступ из кода браузера, используя

  let Http = new XMLHttpRequest();
  Http.open("GET", apiUrl + "list-photos?js=" + JSON.stringify(data));
  Http.onreadystatechange=(e)=>{
    if (Http.readyState == 4 && Http.status == 200) {
    ...

Почему происходит сбой при следующей ошибке?

Доступ к XMLHttpRequest по адресу «https: // ...» from origin "http://localhost' заблокирован политикой CORS: НетЗаголовок «Access-Control-Allow-Origin» присутствует в запрашиваемом ресурсе.

Я также попытался добавить headers={ 'Access-Control-Allow-Origin': "'*'" } к ответу, но это не имело никакого значения.

ОБНОВЛЕНИЕ

После еще одного тестирования я заметил, что настройки app.api.binary_types =['*/*'] конфликтуют с cors=True.Вместо того, чтобы тратить больше времени на это, я решил разделить приложение на две части в качестве обходного пути.Я оставлю вопрос открытым, если кто-нибудь знает правильное решение.

...