Запрос Ajax jQuery, не работающий над браузером устройства iPhone

Мы находимся в процессе разработки веб-приложения iPhone с помощью обширных вызовов Ajax jQuery для извлечения данных из веб-сервиса XML. При разработке и тестировании на моем Mac на Safari, вызовы работают красиво. Проблема, как только мы тестируем на эмуляторе iPhone, или на существующем устройстве, мы ничего не возвращаем от веб-сервиса.

Я включил меню 'Develop' и изменил 'Агент пользователя' на Мобильный Safari, чтобы видеть, имеет ли это значение, но это все еще работает над стороной ПК вещей.

Я не думаю, что это - перекрестное ограничение сайта, поскольку все вызовы ajax и т.д. выполняются с того же сервера и номера порта.

Существует ли способ, которым мы можем сделать отладку JavaScript на эмуляторе для наблюдения, где вызов перестал работать?

Спасибо, Devan

5
задан Devan 30 September 2009 в 07:18
поделиться

3 ответа

Вы можете включить консоль javascript в Mobile Safari. См. Инструкции здесь . Это в основном Настройки-> Safari-> Разработчик-> Консоль отладки. Это работает как на эмуляторе, так и на самом устройстве.

4
ответ дан 13 December 2019 в 19:30
поделиться

Хорошо, я думаю, что мы решили эту проблему, хотя это все еще вызывает у меня недоумение.

Если мы сделаем 'манекен' XMLHttpRequest сразу после секции onReady() в нашем коде, то кажется, что мы 'разблокируем' любые последующие запросы.

http = new XMLHttpRequest();

http.open("GET", "/getdata/dummy.xml);
http.onreadystatechange=function() {
    if(http.readyState == 4) {
        // alert(http.responseText);
    }
}
http.send(null);

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

PS: dummy.xml просто возвращает "ничего"

.
0
ответ дан 13 December 2019 в 19:30
поделиться

Я столкнулся с той же проблемой.

Проверьте url: параметр в объекте, который вы посылаете в функцию jQuery.ajax. Укоротите его с "http://the/full/url" до "/just/the/relative/to/root/part"

Мне кажется, что это ошибка Safari Mobile

.
6
ответ дан 13 December 2019 в 19:30
поделиться
Другие вопросы по тегам:

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