我一直在研究这个主题,但仍然有点困惑。
我有一个 Sencha Touch 2,它在我的机器上运行良好。原因很简单,我在机器的 apache 上配置了代理,它允许我在不需要绝对路径的情况下调用服务器。即请求是通过以下方式从我的机器向服务器发出的:
url: /folder/subfolder/etc
如果在域 abc.mydomain.com 上公开访问该应用程序也可以工作,因为服务器在同一个浏览器上,显然它可以工作。
我需要知道的是:
我现在要将这个应用程序部署为原生 IOS 应用程序。如果 URL 保留为绝对 URL,则这些 URL 将不起作用,因为由于没有配置代理,电话将无法解析该路径。但是,如果我将它们更改为绝对 URL,它们会起作用吗?根据我的阅读,手机不考虑访问源问题,因此它应该可以工作。
因此,如果我有以下要求:
var L_AssetAjaxConnection = new Ext.data.Connection();
L_AssetAjaxConnection.request({
url: /folder/subfolder/etc
timeout: 60000,
success: function(P_Response){
console.write('success');
}
});
failure: function(P_Response){
console.write('failed');
}
在我在 IOS 上部署之前,我将其更改为:
var L_AssetAjaxConnection = new Ext.data.Connection();
L_AssetAjaxConnection.request({
url: http://mydomain.com/folder/subfolder/etc
timeout: 60000,
success: function(P_Response){
console.write('success');
}
failure: function(P_Response){
console.write('failed');
}
});
这在桌面上不起作用。但是,它应该在 iPhone 上部署后工作吗?
期待您的反馈。