0

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

我开发了一个移动应用程序(它在“htdocs/mobile”下)。我首先使用谷歌浏览器测试了该应用程序。在应用程序中有一些对本地网络服务器的 ajax 调用(例如用户登录)。这完美地工作。我可以发送请求并收到响应。

我使用“Ext.util.JSONP.request”来调用 web 服务。

现在我安装了 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");
            }
        }
    });

单击手机上的登录按钮时,我看到消息“在登录控制器的检查登录中”。

4

1 回答 1

0

您应该尝试使用 IP 地址 10.0.2.2 来访问您的本地 Web 服务器。问题是 127.0.0.1(或 localhost)代表您的模拟设备,而 10.0.2.2 代表主机环回接口(即使您切换开发机器也将始终有效)。

在developer.android.com上阅读有关特殊网络地址的更多信息

于 2012-10-25T13:37:38.723 回答