2012-08-04 123 views
-1

像往常一樣,我嘗試爲我自己做這個,我閱讀sencha touch 2使用商店的文檔,但我不能做我想做的,我需要做一個快速的應用程序,可以幫助我說明如何在商店和代理中使用sencha touch,並且他們可以將此功能添加到我的真實項目中。所以,這就是我想要的:Sencha觸摸存儲和代理問題

Ext.define("ejemplo.view.Main", { 
    extend: 'Ext.Panel', 

    requires: [ 
     'Ext.form.FieldSet', 
    ], 

    config: { 
     fullscreen: true, 
     scrollable: true, 

     items: [ 
      { 
       xtype: 'fieldset', 
       title: 'Guardando Data', 
       centered: true, 

       items: [ 
        { 
         xtype: 'textfield', 
         label: 'Nombre', 
        }, 
        { 
         xtype: 'button', 
         ui: 'confirm', 
         text: 'Guargar', 

         handler: function(){ 
          //Store my data locally 
         }     
        } 
       ] 
      }, 
      { 
       xtype: 'button', 
       text: 'Almacen', 
       ui: 'action', 
       docked: 'bottom', 

       handler: function(){ 
        //Show the data 
       } 
      } 
     ] 
    } 
}); 

但是,我知道,這個快速的應用程序可以使事情變得更容易爲需要站在如何存儲數據到煎茶觸摸本地所有球員和他們可以使用這些數據不管是什麼我們需要。

簡單地說,如果我製作文件並將該文件放入我的應用程序的路徑中,但是當我想在其他設備上運行應用程序時,此解決方案無法工作。所以,請幫助

另外,當我做出並採取數據如何我可以從sencha touch做我的服務器的PUT請求?

+0

在這裏你可以閱讀教程如何使用HTML5本地存儲本地存儲和讀取數據http://miamicoder.com/2012/how-to-create-a-sencha-touch-2-app-part -1/ – 2012-08-04 22:07:59

+0

感謝您的鏈接,我去閱讀並做到這一點,也許可以解決我的問題。 – 2012-08-04 23:04:00

+0

解決:如果有人需要答案Oleg的代碼是正確的,只需添加要求:[Ext.Ajax]解決問題。 – 2012-08-05 23:38:23

回答

1
Ext.Ajax.request({ 
    url : '/your/request/to/server/url', 
    method : 'GET', // You can set also method: 'PUT' (answer for 2nd question) 
    params : { // your params you want to send 
     user: 'Alexis 
    }, 

    success : function(response) { 
    ... 
    }, 

    failure : function(response) { 

    ... 
    }, 
}) 

在你可以通過

if (response.responseText) { 
    result = Ext.decode(response.responseText); 
} 

處理性反應的回調函數有一個看看Sencha doc更多信息

乾杯,奧列格

+0

我讀了文檔,「使用AJAX」,但我不知道爲什麼如果我寫Ext.Ajax.request({url:App.app.getApiUrl(request.url), method:request.method ||'POST 」, 標頭:{ '內容 - 類型': '應用程序/ x-WWW窗體-urlencoded' }, PARAMS:request.params || {}, 成功:功能(響應){ .. }, failure:function(response){ ... }, })cosole說我不能請求未分割的對象:/ – 2012-08-04 23:08:15

+0

方法:字符串 用於請求的默認HTTP方法。請注意,這是區分大小寫的,應該全部大寫。沒有辦法發送PUT請求? 默認爲undefined;如果沒有設置,但參數存在將使用「POST」,否則「GET」。 – 2012-08-04 23:09:59

+0

我不忍心你想告訴我:/或者代碼,可以我更多的說明? – 2012-08-04 23:14:08

0

@Alexis嗨,你可以嘗試用簡單的例子,所以這樣,你站在如何運行代理到Sencha Touch

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<title>Whatever</title> 

     <link rel="stylesheet" href="sencha-touch/resources/css/sencha-touch.css" type="text/css" media="screen" /> 

    <script src="sencha-touch/sencha-touch.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
      Ext.onReady(function() { 
       Ext.Ajax.request({ 
         url: 'your_file_url', 
         params: { 
          format: 'json', 
         }, 
         success: function(response, opts) { 
          var info = Ext.util.JSON.decode(response.responseText) 
          alert(info) 
          console.dir(info) 
          console.log('Response:-:-:-: ' + response.responseText) 
        }, 
        failure: function(response) { 
          ... 
        }, 
       }) 
      }) 
    </script> 
</head> 
<body> 
</body> 
</html> 

上面的代碼是爲請求JSON文件一個簡單的文件,這個代碼你可以使用到handler: function() { ... }實例化的xtype: button

UPDATE

進入url: ''只放文件名,例如myFileJson.jsonmyFileJson.php或任何有效的擴展名。 :)

如果您有問題,請讓我知道。

我希望能幫到你。 :)

+0

Thanks!^^讓我看看我得到了什麼! – 2012-08-05 18:40:34

+0

我不知道爲什麼,但似乎總是發生與Ext.Ajax.request東西,我不知道..對不起,再次問,但就像我說@olegtaranenko先生控制檯顯示我>>未捕獲TypeError:無法調用未定義的方法'請求'。你能告訴我我缺少什麼嗎? – 2012-08-05 18:45:38

+0

也許可以是URL?我嘗試使用這個URL:'http:// localhost:5984/mymoney/2' ,這是我的couchdb服務器,有一個http請求這個url返回一個帶有兩個文件的JSON – 2012-08-05 19:08:34