Sencha Touch AJAX 请求问题:ReferenceError:找不到变量:请求

Posted

技术标签:

【中文标题】Sencha Touch AJAX 请求问题:ReferenceError:找不到变量:请求【英文标题】:Sencha Touch AJAX Request Issue: ReferenceError: Can't find variable: request 【发布时间】:2012-02-21 17:31:49 【问题描述】:

我们正在使用 Sencha Touch 1.1 和 PhoneGap 1.3.0 构建一个应用程序以部署到 ios

我们的应用发出多个 AJAX 请求来验证用户身份并从服务器检索数据。除了尝试使用无效凭据进行身份验证外,我们所有的请求都正确执行。

我正在使用 Weinre 调试在 iOS 模拟器中运行的应用程序。 在“网络”窗格中,请求挂起“待处理”,在控制台中我收到以下错误:

发生错误:undefined:[unknown lineno]: ReferenceError: Can't find variable: request

达到超时值时出现此错误。

这是我的控制器的代码:

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的截图:

感谢您的帮助! 凯文

【问题讨论】:

以防其他人遇到此问题,修复从 Sencha Touch 1.1.0 更新到 1.1.1。太容易了吧? 【参考方案1】:

升级到 sencha touch 1.1 解决了这个问题。感谢@kev_additct。只需将其放在答案中,而不是在已有的评论中

【讨论】:

以上是关于Sencha Touch AJAX 请求问题:ReferenceError:找不到变量:请求的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Sencha Touch Ajax 请求中发现 302 响应

如何将ajax请求放入sencha touch中的变量中?

在 Sencha Touch 2 中更改选项卡时发出 Ajax 请求

Sencha touch2:对 Json 数据进行 Ajax 发布请求

Sencha Touch 中的 POST 请求

Sencha Touch 2.0 进度指示器