2011-12-21 7 views
1

GridPanel에서 외부 서버의 데이터를 가져오고 싶습니다. 이 코드로 시도했습니다 :외부 서버에서 데이터를 가져 오는 방법

Ext.define('User', { 
     extend: 'Ext.data.Model', 
     fields: [ 
     { name: 'HasError', type: 'string' }, 
     { name: 'ErrorString', type: 'char' } 
     ] 
    }); 
var store = Ext.create('Ext.data.Store', { 
     model: 'User', 
     proxy: { 
      type: 'ajax', 
      url: 'http://.../GetActivities.aspx', 
      method: 'POST', 
      reader: { 
       type: 'json', 
       root: 'Data' 
      } 
     }, 
     autoLoad: true 

    }); 
    store.load(); 

이제 GridPanel에로드합니다.

xtype: "grid", 
border: false, 
store: store, 
viewConfig: { forceFit: true }, 
flex: 1, 
columns: [ 
     { header: "Aktivitätsnummer", width: 125, dataIndex: 'HasError', sortable: true }, 
     { header: "Zweck", width: 175, dataIndex: 'ErrorString', sortable: true } 
] 

나는 동일한 서버에 JSON 파일과 동일한 코드를 시도하고 그것 때문에 브라우저 크로스 도메인 제한입니다

+0

jsonp를 사용할 수 없습니까? –

+0

몇 가지 코드를 게시 할 수 있습니다. 나는 Inet에서 유용한 것을 찾을 수 없다. – HustlaS

답변

0

보안 제한 사항을 피하려면 코드에서 웹 호출을해야합니다.

서버를 아약스로 호출하고 코드 뒤에 코드를 추가하면 asp.net이 제공하는 WebRequest을 사용하여 다른 서버에서 데이터를 가져 와서 가져옵니다. 우리는 따라서 데이터를 호출, 우리가하는 ReRouteHandler라는 기본적으로는 요청이 로컬 서버에 와서보고 그는 정규 표현식을 사용하여 URL과 일치하는 설정 파일을 통해 원격 서버에 매핑됩니다 무엇을 만든

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(TheWebPageToRead); 
0

작동합니다. 당신은 다른 도메인에 아약스 요청을 만들 수 없습니다 다음 웹입니다.
iframe은 사이트의 외부 콘텐츠를 호스팅 할 수있는 요소이므로 가능한 해결책으로 만 사용할 수 있습니다.

0

로컬 서버의 원격 서버에서 요청을 다시 전달하면 실제로 구현할 수 있습니다.

관련 문제