AJAX-ответ на iPhone Mobile Safari пуст - PullRequest
2 голосов
/ 05 июля 2011

Мы запустили веб-сервис и создали для него веб-сайт в виде веб-приложения и приложения для iPhone с использованием PhoneGap. Мы используем ajax как на наших веб-страницах, так и на страницах PhoneGap для связи с нашим сервером. Все выглядит нормально, пока одно из наших тестирующих устройств (iPhone 3Gs, iOS 4.3.2) не получит пустое тело ответа от XMLHttpRequest.

Мы используем jQuery.ajax в веб-приложении и реализовали аналогичную функцию в приложении PhoneGap, используя также XMLHttpRequest. Сначала мы обнаружили, что приложение PhoneGap не может войти на наш сервер на «убогих» iPhone 3Gs, затем попробовали веб-приложение на своем мобильном Safari и обнаружили, что оно не работает. Однако другие веб-сайты (Google, GMail, Twitter и т. Д.) Работают с мобильным Safari без каких-либо проблем, и ни одно из наших других устройств (даже все симуляторы iPhone 4.x) не имеют этой проблемы.

Мы отладили наш код и обнаружили, что текст responseText, который мы получаем из XMLHttpRequest, искажен. Когда мы анализируем его как JSON в объекте, результатом является пустая строка (""). Тем не менее, код состояния правильный.

Кто-нибудь слышал о такой проблеме? У нас нет другого iPhone 3Gs с iOS 4.3.2, поэтому нам сложно определить, является ли это проблемой на стороне операционной системы.

Ответы [ 2 ]

0 голосов
/ 14 февраля 2012
0 голосов
/ 08 февраля 2012

Возможно ли, что это связано с этой проблемой: https://github.com/jquery/jquery-mobile/issues/2521? Если это так, кажется, что вывод заключается в том, что это проблема в этой версии Safari.

Даже если эта ошибка не идентична, вы можете попробовать изменить / удалить атрибут rel вашей ссылки и отключить push-состояние JQuery, чтобы еще больше сузить проблему.

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

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