2012-08-04 3 views
-1

Comme toujours j'essaie de le faire pour moi-même, je lis la documentation de sencha touch 2 pour l'utilisation des magasins, mais je ne peux pas faire ce que je veux, je dois faire une application rapide qui peut aidez-moi à supporter comment fonctionnent les magasins et proxy dans le toucher sencha, et eux je peux ajouter cette fonctionnalité à mon vrai projet. Voilà donc ce que je veux:Sencha tactile magasin et des problèmes de proxy

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 
       } 
      } 
     ] 
    } 
}); 

Cependant, je sais que cette application rapide peut rendre les choses plus facilement pour tous les gars qui ont besoin de support comment stocker les données en contact sencha eux et localement peuvent utiliser ces données pour quelque nous avons besoin.

Est tout simplement si je fais le fichier et mettre ce fichier dans le chemin de mon application, mais quand je veux exécuter l'application sur d'autres appareils cette solution ne fonctionne pas. Donc, s'il vous plaît aider

Supplémentaire, quand je fais et prends les données comment je peux faire une demande PUT à mon serveur de sencha touch?

+0

ici, vous pouvez lire un tutoriel comment stocker et lire des données localement en utilisant le stockage local HTML5 http://miamicoder.com/2012/how-to-create-a-sencha-touch-2-app-part -1/ –

+0

Merci pour votre lien, je vais lire et le faire peut-être peut résolu mon problème. –

+0

RESOLU: Si quelqu'un a besoin des réponses, le code d'Oleg était correct, il suffit d'ajouter: [Ext.Ajax] pour résoudre le problème. –

Répondre

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) { 

    ... 
    }, 
}) 

Dans la fonction de rappel, vous pouvez gérer responce via

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

Jetez un oeil à la Sencha doc pour plus d'infos

Cheers, Oleg

+0

Je lis la documentation, "Using AJAX" mais je ne sais pas pourquoi si j'écris Ext.Ajax.request ({ url: App.app.getApiUrl (request.url), méthode: request.method || 'POST », têtes: { 'Content-type': 'application/x-www-form-urlencoded' }, params: Request.Params || {}, succès: function (réponse) { .. Échec: function (response) { ... }, }) cosole me dire que ne peut pas faire la demande à l'objet non-unifié:/ –

+0

méthode: Chaîne La méthode HTTP par défaut à utiliser pour les demandes. Notez que ceci est sensible à la casse et devrait être tout en majuscules. N'est-il pas possible d'envoyer une demande PUT? Par défaut à undefined; s'il n'est pas défini mais que les paramètres sont présents, utilisez "POST", sinon "GET". –

+0

Je ne suis pas ce que vous voulez me dire:/soit le code, peut-on être un peu plus illustré? –

0

Salut @Alexis vous pouvez essayer avec exemple simple donc comme ça, pour vous debout comment fonctionne le proxy dans 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> 

code ci-dessus est un simple fichier pour requête JSON, ce code vous pouvez faire en utilisant dans handler: function() { ... } instanciés de xtype: button.

MISE À JOUR

Dans url: '' placer le fichier seul nom, par exemple myFileJson.json ou myFileJson.php ou toute extension valide. :)

Si vous avez un problème s'il vous plaît faites le moi savoir.

J'espère vous aider. :)

+0

Merci! ^^ Laissez-moi voir ce que je reçois! –

+0

Je ne sais pas pourquoi, mais semble toujours arriver avec Ext.Ajax.request quelque chose que je ne sais pas .. Désolé de demander à nouveau, mais comme je l'ai dit à M. @olegtaranenko la console me montre >> Uncaught TypeError: Impossible d'appeler la méthode 'request' de undefined Pouvez-vous me dire ce que je manque? –

+0

Peut-être peut-être l'url? J'essaye avec cette URL: 'http: // localhost: 5984/mymoney/2' , c'est mon serveur couchdb, avec une requête http cette URL retourne un fichier JSON avec 2 fichiers –

Questions connexes