Мы создаем приложение, используя Sencha Touch 1.1 и PhoneGap 1.3.0 для развертывания на iOS.
Наше приложение выполняет несколько запросов AJAX для аутентификации пользователя и получения данных с сервера. Все наши запросы выполняются правильно, за исключением попытки аутентификации с использованием неверных учетных данных.
Я использую Weinre для отладки приложения, работающего в симуляторе iOS.
В панели Network запрос висит на «Pending», а в консоли я получаю следующую ошибку:
произошла ошибка: не определено: [неизвестно белья]: ReferenceError: Не удалось найти переменную: запрос
эта ошибка появляется при достижении значения времени ожидания.
Вот код для моего контроллера:
Ext.regController('Login', {
login: function(options)
{
var loader = this.application.viewport.query('#loader')[0];
loader.show();
var string = options.user + ":" + options.pass;
var encodedString = Ext.util.Base64.encode(string) + "==";
Ext.Ajax.defaultHeaders = { Authorization: "Basic " + encodedString};
Ext.Ajax.request({
url: 'http://test.com/login.do',
method: 'POST',
timeout: 5000,
scope: this,
callback: function (options, success, response) {
if (success){
buildingStore.load({
callback: function (){
Ext.redirect('Main/loggedIn');
loader.hide();
}
});
Ext.redirect('Main/loggedIn');
}
else {
alert("failed");
console.log(response.status);
loader.hide();
var loginFailure = new Ext.Panel ({
floating: true,
centered: true,
floating: true,
modal: true,
layout: 'fit',
cls: 'loginError',
html: '<h12>Login was unsuccessful.<br>Please try again.</h12>',
});
loginFailure.show();
}
}
});
Ext.Ajax.on({
requesterror: function(conn, response, options, e){
alert("error");
},
requestexception: function(conn, response, options, e){
alert("exception");
}
});
},
});
и скриншот Weinre:
Спасибо за вашу помощь!
Kevin