Я использую jQuery 1.9.1 и имею проблему, которая, кажется, происходит только на мобильном Safari с перерывами.вызов ajax на iPhone Safari не возвращается
- Нажав кнопку, позвоните по телефону FB.login, на мобильном Safari появится новая страница и попросите пользователя войти в FB. После этого эта страница закрывается, и управление возвращается на предыдущую страницу.
- , когда FB.login возвращает, получает идентификатор доступа и токена доступа и делает вызов ajax нашему серверу API/backend, попробуйте войти в систему
- login call to API возвращает, если ответ успешный, перенаправляет на домашнюю страницу, если ответ «пользователь не существует», сделать страницу создания учетной записи
Проблема заключается в вызове API-сервера. В большинстве случаев это нормально, однако в 20-30% случаев это терпит неудачу.
Сбой средства - ни один из проделанных/не годен/всегда называются АЯКС - также пытались успеха/ошибки/полная, не называется
Я вижу запрос на стороне сервера, а сервер возвращает. Это может быть проблема с таймаутом, но сервер обычно возвращается очень быстро (до 100 мс).
И снова это происходит только на мобильном Safari. И, скорее всего, это относится к более старым iOS (5, 6.0, 6.1.2) и к последней версии 6.1.4.
Я также пробовал jQuery 1.10.2 и 2.0.3 и столкнулся с той же проблемой.
У кого-нибудь были подобные проблемы?
Пример кода
$.ajax({
type: 'POST',
cache: false,
url: gem.conf.apiUrls.user_login_facebook,
data: JSON.stringify(data),
dataType: 'json',
contentType: 'application/json',
beforeSend: gem.auth.set_request_headers
}).done(function(data, textStatus, jqXHR) {
gem.utils.log.debug("gem.auth.login_facebook_impl: ajax done");
}).fail(function(data, textStatus, jqXHR) {
gem.utils.log.debug("gem.auth.login_facebook_impl: ajax fail");
}).always(function(data, textStatus, jqXHR) {
gem.utils.log.debug("gem.auth.login_facebook_impl: ajax always");
});
Вы отлаживали? вы можете легко отлаживать использование [JSBin remote] (http://www.elijahmanor.com/2011/03/jsconsole-remote-debugging-and-jsbin.html) или любой удаленный инструмент javascript, вокруг есть десятки. – balexandre
Когда я отлаживаю, он отлично работает – Jonathan