2012-10-22 32 views
0

我在Windows PC上安裝了xampp和mysql。我使用sencha touch 1.x. 我有一個網站在本地運行。它在「htdocs /網站」下。它運行完美;-)Eclipse + Phonegap + Sencha touch ==>調用本地運行的網絡服務器

我已經開發了一個移動應用程序(它是在「htdocs /手機」)。我首先用谷歌瀏覽器測試了這個應用程序。在應用程序中有一些Ajax調用本地網絡服務器(例如用戶登錄)。這工作完美。我可以發送請求並收到回覆。

我使用「Ext.util.JSONP.request」來調用webservices。

現在我安裝了eclipse,phonegap和ADT,在eclipse中創建了一個新的android項目。 我開始我的本地網絡服務器,並在eclipse中作爲android應用程序運行我的應用程序。

我沒有得到任何錯誤。 Android模擬器啓動並打開應用程序。但是當我撥打我的網絡服務器時,什麼也沒有發生。

出了什麼問題?

感謝


這是我的請求到服務器的代碼:

console.log("In checkLogin of logincontroller"); 

    Ext.util.JSONP.request({ 
     url: 'http://mywebsite:80/mobile/login.php', 
     params: options.data, 
     callbackKey: "callback", 
     scope: this, 
     callback: function(response) { 
      console.log("success"); 
      if (response.success == "true") 
      { 
       //save login locally on phone 
       this.index(options); 
      } 
      else { 
       Ext.Msg.alert(response.errors.reason, ''); 
       console.log("failure"); 
      } 
     } 
    }); 

當點擊手機上的登錄按鈕,我看到消息「在LoginController中的checklogin」。

+1

有關特殊的網絡地址。模擬器認爲localhost本身,而不是它運行的計算機。 –

+0

我確實使用了localhost。但我改變了它,所以現在我使用「mywebsite」而不是「localhost」。所以我有一個Ext.util.JSONP.request「http://mywebsite/mobile/login.php」。但仍然沒有任何反應。 – user1662082

回答

0

您應該嘗試使用IP地址10.0.2.2訪問您的本地Web服務器。問題是127.0.0.1(或localhost)表示你的模擬設備,而10.0.2.2表示主機回送接口(並且即使切換開發機器也將始終工作)。

如果您使用localhost作爲Web服務器,你需要改變它的地址在閱讀developer.android.com

+0

非常感謝,它做到了! – user1662082

相關問題