2013-01-17 42 views
1

我想打包Sencha Touch應用程序以部署到多個移動平臺(iOS/Android)。我知道跨瀏覽器的AJAX請求不適用於瀏覽器,但是可以在Sencha Touch應用程序中進行跨域AJAX調用嗎? (沒有服務器,並使用類似PhoneGap的方式打包到iOS/Android)我需要一個服務器在sencha觸摸應用程序中的Ajax調用?

我想在使用AJAX的Sencha Touch應用程序中創建第三方API,但我的印象是我需要服務器來包裝第三方API來避免跨域問題。有人請澄清。

回答

1

跨域AJAX請求可能與JSONP使用Ext.data.proxy.JsonP
我不知道你的API是什麼樣子,但使用它是這樣的:

var store = Ext.create('Ext.data.Store', { 
    autoLoad: true, 
    //model: , //Your API 
    proxy: { 
     type: 'jsonp', 
     url : 'http://domain.com/request', 
     callbackKey: 'theCallbackFunction' 
    } 
}); 
0

您可以使用JSONP,但你也可以正常使用JSON。

手機瀏覽器將允許跨域請求,當文件是「本地」,即包裹phonegap。

0

由於A1rPun說跨域AJAX請求使用Ext.data.proxy.JsonP

煎茶觸摸-2方法是可能的JSONP(JSON與填充):

Ext.define('YourStore', { 
     extend: 'Ext.data.Store', 

     config: { 
      fields: ['field1', 'field2', 'field3'], 

      proxy: { 
       type: 'jsonp', 
       url:'YourUrl', 
       callbackKey: 'jsoncallback', 
       extraParams : { 
        method : 'YourUrl.method', 
        api_key : 'PUTYOURKEYHERE', 
        format : 'json', 
        nojsoncallback : 1 
       }, 
       reader: { 
        type: 'json' 
       } 
      } 
     } 
    }); 
相關問題