0

我一直在研究这个主题,但仍然有点困惑。

我有一个 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 上部署后工作吗?

期待您的反馈。

4

2 回答 2

1

我已经在我的 Android 手机上尝试过了,结果是,绝对 URL 可以在本机应用程序上运行,但由于安全问题,不能在台式机上运行。

于 2012-06-22T09:54:16.127 回答
1

您还可以考虑在您的域上使用JSON-PCORS,在这种情况下,任何应用程序都可以正常工作,无论是否为原生应用程序。Sencha 支持这两种技术(参见此处此处

于 2012-06-23T12:47:13.693 回答