У меня есть приложение на основе холста, загружаемое в iFrame на странице Facebook. Для всех браузеров, кроме Chrome (еще не проверял IE лично), переменная signed_request отправляется через POST. По какой-то причине Chrome не отправляет эти данные. Я посмотрел на сетевого инспектора, и действительно, Chrome регистрирует данные POST с запросом, но при печати содержимого $_REQUEST ничего нет. Данные POST не отправляются вообще.

Сафари и Файрфокс работают нормально. Какие-либо предложения?

EDIT: я заметил, что Chrome делает все правильно при доступе к странице Facebook через https. Проблема возникает только с http. Это странно, потому что в настройках приложения установлены действительные URL-адреса http и https, плюс страница отлично работает в других браузерах.

2
Soulriser 20 Дек 2011 в 09:53
Отличный вопрос. Я проголосовал за это и подпишусь, чтобы узнать, что вы можете узнать об этом.
 – 
DMCS
1 Янв 2012 в 07:44
Спасибо ДМСС. Вот в чем дело: я должен был упомянуть, что сайт, на котором размещена страница холста Facebook, использует перенаправление https, так что любые запросы на http перенаправляются на https. Однако мы сделали исключение для доступа к странице холста, чтобы к ней можно было получить доступ через http. Что ж, получается, что Chrome закэшировал перенаправление протокола и не выпускает его. До сих пор не найдено исправление, но, по крайней мере, это касается только пользователей, которые ранее были перенаправлены, а это означает, что с большинством пользователей все будет в порядке.
 – 
Soulriser
3 Янв 2012 в 23:31
Что делать, если вы очистите кеши Chrome от chrome://net-internals/#httpCache
 – 
Jasmo
23 Фев 2012 в 23:52

1 ответ

Chrome немного строг в правилах междоменного доступа и протокола. попробуйте запустить хром в безопасном режиме, чтобы проверить, действительно ли проблема связана с перенаправлением http -> https

0
Junaid 27 Фев 2012 в 16:44