【发布时间】:2012-10-22 13:09:21
【问题描述】:
我已经在我的 Windows 电脑上安装了 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");
}
}
});
点击手机上的登录按钮时,我看到消息“In checklogin of logincontroller”。
【问题讨论】:
-
如果您使用 localhost 作为 Web 服务器的地址,则需要更改它。模拟器认为 localhost 是它自己,而不是它运行的计算机。
-
我确实使用了 localhost。但我改变了它,所以现在我使用“mywebsite”而不是“localhost”。所以我有一个 Ext.util.JSONP.request 到“mywebsite/mobile/login.php”。但仍然没有任何反应。
标签: android ajax eclipse cordova sencha-touch