Eclipse + Phonegap + Sencha touch ==>调用本地运行的webserver

时间:2012-10-22 13:09:21

标签: android ajax eclipse cordova sencha-touch

我在我的windows pc上安装了xampp和mysql。我用sencha touch 1.x. 我有一个在本地运行的网站。它位于“htdocs / website”下。它完美运行; - )

我开发了一个移动应用程序(它位于“htdocs / mobile”下)。我首先使用谷歌浏览器测试了应用程序。在应用程序中,有一些对本地网络服务器的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");
            }
        }
    });

点击手机上的登录按钮时,我会看到“在checkconin of logincontroller中”的消息。

1 个答案:

答案 0 :(得分:0)

您应该尝试使用IP地址10.0.2.2访问本地Web服务器。问题是127.0.0.1(或localhost)代表你的模拟设备,而10.0.2.2代表主机环回接口(即使你切换开发机器也会一直工作)。

developer.android.com

了解有关特殊网络地址的详情