2010-12-04 17 views
2

J'essaie avec le code suivant et j'obtiens l'erreur: l'étiquette invalideerreur: étiquette invalide lorsque je tente d'obtenir JSON url SENCHA TOUCH

Ext.util.JSONP.request({ 
      url: 'http://demo.webfactory.mk/', 
      callbackKey: 'callback', 
      params: { 
       action: 'retrieve', 

      }, 
      callback: function(data) { 
       console.log('Inside data'); 
       var dataarray = data.result; 
       console.log(dataarray); 

      } 

    }); 
+0

J'ai collé ce code dans mon navigateur et cela a fonctionné pour moi. Pouvez-vous m'expliquer pourquoi vous lancez une requête JSONP de cette façon au lieu d'utiliser un modèle avec un ScriptTagProxy? – Ballsacian1

Répondre

1

Vous pouvez également utiliser la requête Ajax au lieu de JSONP, ci-dessous est la échantillon de code. Cela fonctionne pour moi.

Note that you cannot make cross domain Ajax calls, in chrome so u cant test in chrome. You need to deploy your Sencha script to the same Web server you are accessing. But All mobile browser supports this cross domain Ajax calls.

Procédez de la même manière.

Ext.Ajax.request({ 
     url: reqUrl, 
     defaultHeaders : 'application/json', 
     success : function(response, opt) { 
      dataarray = Ext.decode(response.responseText); 
      //App.views.viewport.reveal('nextScreen'); 
     }, 
     failure : function(response, opt) { 
      Ext.Msg.alert('Failed', response.responseText); 
     } 
    });