2011-11-02 3 views
1

j'ai un modèle simple:ExtJs 4 - Politique inter-domaine

Ext.define('MovieModel', { 
     extend : 'Ext.data.Model', 
     fields : [ { 
      name : 'Title', 
      mapping : '@title', 
      type : 'string' 
     } ], 

     proxy : { 
      type : 'ajax', 
      url : 'http://www.imdbapi.com/?r=xml&plot=full', 
      method : 'GET', 
      reader : { 
       type : 'xml', 
       record : 'movie' 
      } 
     } 
    }); 

Mais ce code ne prend pas en charge la politique inter-domaine. Comment pourrais-je le résoudre?

Répondre

1

tout d'abord se débarrasser de r=xml param. Au lieu d'utiliser ajax proxy jsonp un:

proxy : { 
     type : 'jsonp', 
     url : 'http://www.imdbapi.com/?plot=full', 
     // jsonp uses its special method for retrieving data. So no need for the following row 
     //method : 'GET', 
     reader : { 
      type : 'json', 
      // the record param is used when data is nested construction 
      // which is not true in your case 
      //record : 'movie' 
     } 
    } 

est ici demo.

+0

Je l'ai essayé et j'ai eu une erreur 'callback is undefined' – bontade

+1

@bontade, à droite. 'callback = callback' n'est pas nécessaire. Mise à jour ma réponse (consultez la [démo] (http://jsfiddle.net/molecule/LSnda/)). –

+0

Un grand merci @Molecule Man. Ça m'a aidé – bontade