Android 日食+;Phonegap+;Sencha touch==>;调用本地运行的Web服务器
我已经在我的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服务器时,什么也没发生 怎么了 谢谢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
这是我向服务器请求的代码:
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到“”。但还是什么都没发生。