Android 日食+;Phonegap+;Sencha touch==>;调用本地运行的Web服务器

Android 日食+;Phonegap+;Sencha touch==>;调用本地运行的Web服务器,android,ajax,eclipse,cordova,sencha-touch,Android,Ajax,Eclipse,Cordova,Sencha Touch,我已经在我的windows pc上安装了xampp和mysql。我使用sencha touch 1.x。 我有一个在本地运行的网站。它位于“htdocs/网站”下。它运行得很好;-) 我开发了一个移动应用程序(在“htdocs/mobile”下)。我先用谷歌浏览器测试了这个应用。在应用程序中,有一些对本地Web服务器的ajax调用(例如用户登录)。这很好用。我可以发送请求并收到响应 我使用“Ext.util.JSONP.request”调用Web服务 现在我安装了eclipse、phonegap

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

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

我使用“Ext.util.JSONP.request”调用Web服务

现在我安装了eclipse、phonegap和ADT,并在eclipse中创建了一个新的android项目。 我启动本地Web服务器,并在eclipse中作为android应用程序运行我的应用程序

我没有错误。Android模拟器启动,应用程序打开。但当我调用我的Web服务器时,什么也没发生

怎么了

谢谢


这是我向服务器请求的代码:

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");
            }
        }
    });

单击手机上的登录按钮时,我看到消息“In checklogin of login controller”。

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


阅读有关特殊网络地址的更多信息,请访问

如果您使用localhost作为web服务器的地址,则需要更改它。模拟器认为localhost是它自己,而不是它运行的计算机。我确实使用了localhost。但我改变了它,所以现在我用“我的网站”而不是“本地主机”。所以我有一个Ext.util.JSONP.request到“”。但还是什么都没发生。