2012-02-21 88 views
2

我们正在建设使用煎茶触摸1.1和1.3.0的PhoneGap部署到iOS的应用程序。煎茶触摸AJAX请求问题:的ReferenceError:找不到变量:请求

我们的应用程序,使得一些AJAX请求验证用户并从服务器获取数据。除尝试使用无效凭证进行身份验证外,我们的所有请求都正确执行。

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

错误:未定义:未知LINENO]的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

感谢您的帮助! 凯文

+1

万一别人的经验这个问题,修复程序更新从煎茶触摸1.1.0至1.1.1。太简单了吧? – kevinstueber 2012-02-23 14:55:14

回答

2

升级到煎茶触摸1.1修复了这个问题。感谢@kev_additct。只要将它放在一个答案,而不是评论它已经是