2011-11-02 1 views
1

나는 간단한 모델이 있습니다의 ExtJS 4 크로스 도메인 정책

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

을하지만이 코드는 크로스 도메인 정책을 지원하지 않습니다. 어떻게 해결할 수 있을까요?

답변

1

처음이다. 대신 ajax 프록시 사용 jsonp 하나 : 여기

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' 
     } 
    } 

demo입니다.

+0

시도해 본 결과 오류가 발생했습니다. '콜백이 정의되지 않았습니다.' – bontade

+1

@bontade, right. 'callback = callback'은 필요 없습니다. 내 답변을 업데이트했습니다 ([demo] (http://jsfiddle.net/molecule/LSnda/) 확인). –

+0

큰 감사합니다. @Molecule Man. 그것은 나를 도왔다. – bontade