2012-04-05 84 views
0

後更改瀏覽這聽起來很奇怪,但我一直都敲我的頭,因爲這個問題在過去2小時。我有一次我按下登錄按鈕觸發功能,按下啓動時,將Ajax請求。煎茶觸摸2 - 一個Ajax.Request的

onEnter: function() { 

     Ext.Viewport.mask(); 

     var email = Ext.getCmp('email').getValue(); 
     var pass = Ext.getCmp('pw').getValue(); 
     var consegui = 0; 

     Ext.Ajax.request({ 

     controller: 'AP4.controller.MainCont', 

      url: 'myurl', 
      method: 'POST', 
      callbackKey: 'callback', 
      jsonData:{"username":'user', "password":'pass'}, 


      success: function(result) { 
      //Se o webservice nao der erro ele entra aqui, nao quer dizer que tenha 
      //sido correctamente criado session 
      // Unmask the viewport 
      Ext.Viewport.unmask(); 
      Ext.Msg.alert("Login Done! Congrats!"); 
      Ext.Viewport.setActiveItem(this.getRegisto()); **//THIS LINE IS NOT WORKING** 

      },   
      failure: function(result){  
      Ext.Msg.alert("Username ou Palavra passe Incorrectas!");   
      }, 

     });  
}, 

出於某種原因,setActiveItem不工作,我不知道爲什麼。誰能幫我 ?

+0

你得到一個錯誤? – fuzzyLikeSheep 2012-04-05 16:38:15

+0

的信息是不完整的,這是什麼'this.getRegisto()'返回? – 2012-04-05 17:42:36

+0

請介紹「不工作」更好。你有任何Javascript錯誤?檢查你的控制檯。 – Jay 2012-04-05 21:05:27

回答

1

我認爲你正在訪問this.getRegisto;功能在錯誤的範圍內, 你檢查了this關鍵字指向你想要在成功回調的對象?

改變成功回調的範圍,你可以簡單地添加scope參數在Ext.Ajax.request調用,這樣

Ext.Ajax.request({ 
    url: 'myurl', 
    method: 'POST', 

    success: function(result) { 
     // this will point to ViewPort object here 
    }, 

    failure: function(result){ 
     Ext.Msg.alert("Username ou Palavra passe Incorrectas!");   
    }, 

    scope : Ext.Viewport  // this is used just for illustration, please specify correct scope here 
}); 
+0

謝謝!您的幫助! – Akash 2012-04-12 09:20:21

0

如果雷吉斯托是在你的口中,爲什麼不一樣,如果Registro是在你的視口的第一個項目使用setActiveItem(一些號碼),然後做setActiveItem(0);