Мы запустили веб-сервис и создали для него веб-сайт в виде веб-приложения и приложения для 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, поэтому нам сложно определить, является ли это проблемой на стороне операционной системы.