在 PhoneGap/Sencha Touch 中加载外部 Web 服务

Posted

技术标签:

【中文标题】在 PhoneGap/Sencha Touch 中加载外部 Web 服务【英文标题】:loading external web service in PhoneGap/Sencha Touch 【发布时间】:2012-08-28 12:46:01 【问题描述】:

我一直在尝试在我的 Sencha Touch 2 应用程序(将使用 PhoneGap Build 构建)中加载一个外部 Web 服务,但我似乎无法让它工作。我使用W3Schools example web service 作为测试。我读过PhoneGap 可以做到这一点,因为它使用file:/// 协议,但我没有运气加载Web 服务。

这是我正在拨打的Ext.Ajax.request 电话:

Ext.Ajax.request(
    url: 'http://www.w3schools.com/webservices/tempconvert.asmx/CelsiusToFahrenheit',
    method: 'POST',
    xmlData: 
        Celsius: "25.0"
    ,

    success: function(response) 
        container.sethtml(container.getHtml() + '<br/>Ext.Ajax.request succeeded');
    ,
    failure: function(response) 
        container.setHtml(container.getHtml() + '<br/>Ext.Ajax.request failed');
    
);

不过,我似乎总是收到失败的消息。在我的config.xml 中,我确实有访问标签:

<access origin = "*" subdomains="true"/>

我使用PhoneGap 2.0.0 作为PhoneGap 版本使用PhoneGap 构建,并在我的android 手机2.1 版本上进行了测试。

【问题讨论】:

【参考方案1】:

由于您使用的是phonegap,您需要允许来自phonegap 的跨域请求。这适用于 jQuery-Mobile 和 PhoneGap,但对于 Sencha-Touch 应该是一样的。

您还在清单文件中授予访问互联网的权限。

Solution

【讨论】:

以上是关于在 PhoneGap/Sencha Touch 中加载外部 Web 服务的主要内容,如果未能解决你的问题,请参考以下文章

在 PhoneGap/Sencha Touch 中加载外部 Web 服务

基于backbone.js/ember.js的app和基于Phonegap/Sencha Touch的app有啥区别?

[Phonegap+Sencha Touch] 移动开发77 Cordova Hot Code Push插件实现自己主动更新App的Web内容

Phonegap/Sencha 语言本地化

在 Phonegap / Sencha 中观看 YouTube 的最佳实践

打开和关闭inappbrowser 在ios 7 底部phonegap+sencha 带来白条