Непредсказуемое поведение Access-Control-Allow-Origin - PullRequest
1 голос
/ 16 февраля 2012

У меня есть приложение Rails со следующим действием:

def some_action

  headers['Access-Control-Allow-Origin'] = 'http://www.example.com'
  headers['Access-Control-Request-Method'] = 'GET'
  headers['Access-Control-Max-Age'] = '1728000'

  n = Model.getNumber
  render :json => {:count => n}
end

У меня есть пример jQuery на example.com, который выполняет $.getJSON для этого действия. Как ни странно, поведение совершенно непредсказуемо. Выполнение этих запросов GET каждые несколько секунд, около 50% из них завершаются сбоем с ужасным сообщением «Origin http://www.example.com не разрешено Access-Control-Allow-Origin».

Я действительно ожидал бы, что он будет работать 100% времени или не работать 100% времени. Почему он ведет себя по-разному в нескольких запросах, в нескольких секундах от одного и того же браузера?

Редактировать: я кеширую это действие ... не уверен, имеет ли это какое-то значение.

1 Ответ

3 голосов
/ 16 февраля 2012

Для меня это звучит как проблема с кешированием.Если вы используете кэш HTML, возможно, он отбрасывает заголовки или если вы кэшируете данные в своем коде, убедитесь, что заголовки добавлены независимо.

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