Ajax Ошибка обратного вызова не срабатывает для iPhone
Ошибка обратного вызова не работает, если отправляется асинхронный запрос, но успешный -! и он прекрасно работает в Android и браузере. В iPhone это работает по синхронному запросу. вот мой код другие API работают отлично.
$.ajax({
type: 'POST',
url: "https://api.cloud.appcelerator.com/v1/users/login.json?key=xxxxxxxxx",
data: {
"login": useremail,
"password": password
},
success: function (resp) {
console.log(resp);
console.log('User logged-in successfully');
},
error: function (e) {
console.log(e)
}
});
API возвращает код состояния 200 для правильного адреса электронной почты и пароля, но 401 для неверного, поэтому, если код состояния равен 200, он работает хорошо, и я получаю ответ в случае успеха
1 ответ
Похоже, что это очень распространенная проблема с Cordova + iOS + jQuery combo.
Похоже, есть несколько способов решить эту проблему обработки ошибок 401. Одним из них является добавление атрибута тайм-аута при выполнении запроса AJAX и обработке ошибки. Другой подход заключается в том, чтобы обработать его на стороне сервера, отправив запрос по HTTPS и вернув обратно маркер аутентификации с подробной информацией об ошибке в случае ошибки 401.
Просим вас взглянуть на этот пост для получения дополнительной информации.
Также в настоящее время вы не можете различить эти две ошибки (ошибки 401 и 408) в iOS, так как я мог видеть, что этот дефект все еще открыт в официальной системе отслеживания ошибок Apache Cordova. Запросить вас, чтобы проверить эту ошибку