Akuma
@Akuma
Веб-программист

Почему Safari на iPad блокирует GET запросы с координатами?

Есть обычный аякс GET запрос по ссылке:
//mallblizko.ru/malls/near/?lat=45.0434377&lon=38.9633671&start=0

Везде отрабатывает нормально. Но мобильный Safari (iPad) блокирует такие запросы. Пробовал менять ссылку, не помогает. Если в GET параметрах есть координаты - запрос блокируется (error code 0).

На том же устройстве, но в хроме все отлично.
При этом если заходить напрямую по ссылке - все работает.

В чем может быть проблема и откуда такое поведение сафари?
  • Вопрос задан
  • 2732 просмотра
Пригласить эксперта
Ответы на вопрос 1
georgeneversleep
@georgeneversleep
Разработчик мобильны приложений
iPad 3 16 Gb wifi iOS 8.x. Ничего не блокируется, ваша ссылка открывает страницу с json.

f33164ffaf91451db96eba8cf92a93d7.JPG

Вам нужно смотреть в сторону заголовков, которые отдаете в ответ на запросы.

Я выложил пример веб-страницы, где jquery ajax дергает вашу страничку. То что API не работает только в мобильном Safari (iPhone & iPad) подтвердилось.

Однако, если заменить ваш сервер на ip.jsontest.com то пример работает и в Safari.

Исходный код jsfiddle.net/roma86/e2Lay7w3/14
Пример для просмотра в браузере jsfiddle.net/roma86/e2Lay7w3/14/embedded/result

Если подцепить к iPad дебаг логов браузера, то можно поулчить следующий лог, который для меня ничего не говорит, так что отсюда вы, пожалуйста, сами:

Accept-Encoding is not allowed by Access-Control-Allow-Headers


a06f07e318254e9c813120bb086d2ed1.jpg

Мое предположение в том, что:
или Safari не понимает что-то из заголовков, которые отдает сервер.
или Сервер что-то блочит что имеется в заголовках сопровождающий запросы от Safari.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы