Sencha Touch AJAX-запрос Проблема: ReferenceError: Не удается найти переменную: запрос - PullRequest
2 голосов
/ 21 февраля 2012

Мы создаем приложение, используя 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:

WEINRE Error

Спасибо за вашу помощь! Kevin

1 Ответ

2 голосов
/ 01 мая 2012

Обновление до Sencha Touch 1.1 устраняет эту проблему. Кредит @kev_additct. Просто поместите это в ответ, а не комментарий, где это уже

...