2013-02-20 1 views
5

나는 extjs에서 일하고있다. 나는 가게를 가지고있다 -extjs에있는 다른 URL을 가진 동일한 상점을 사용하는 방법

Ext.define('Balaee.store.qb.QbqnsStore',{ 
      extend: 'Ext.data.Store', 
      model: 'Balaee.model.qb.QbqnsModel', 
      autoLoad: true, 

      proxy: 
      { 
       type:'ajax', 
       api: 
       { 
     read:index.php/QuestionBank/qbpaper/createpaper', 

     }, 
       reader: 
       {type:'json', 
        //root:'polls',}, 
       writer: 
       {type:'json', 
        root:'data', 
       }}}); 

그래서 프록시의 읽기 속성은 위의 URL로 설정됩니다. 이제 다른보기에 대해 동일한 저장소를 사용하지만 속성을 읽기위한 다른 URL을 사용하려고합니다. 저장소의 읽기 URL을 동적으로 변경하는 방법은 무엇입니까? 난 내가

review:function() 
    { 
     //alert("hello"); 

     var QbqnsStore=this.getStore('qb.QbqnsStore'); 
     proxy=QbqnsStore.getProxy(); 
     Ext.apply(proxy.api,{ 
      read:'http://127.0.0.1/s_balaee/Balaee/index.php/QuestionBank/qbpaper/Reviewquestionpaper', 

     }); 

된 직후 쓴 그래서 버튼 클릭 기능에 URL- /index.php/QuestionBank/qbpaper/Reviewquestionpaper111

에서 데이터를 읽고 싶은 버튼 클릭 이벤트에 된 직후 시도했다 이 저장소의 변수를 생성하고 새로운 필수 URL을 제공했습니다. Bt는 작동하지 않습니다. 그래서 읽기 속성에 다른 URL을 사용하여 다른보기에 대해 같은 저장소를 사용하는 방법.

답변

3

당신은 다음과 같이 시도 할 수 있습니다 :이 코드를 사용할 수 있습니다

QbqnsStore.reload(); 
+0

reply.i에 대한 Thanx Sir이 (가) 말한 것처럼 노력했습니다.하지만 작동하지 않습니다. 이 새로 삽입 된 URL을 호출하지 않습니다. – user2077845

+0

누군가 나를 도와주세요 ... – user2077845

2

: 당신이 당신의 상점을 다시로드해야

QbqnsStore.proxy.url = 'new url'; 

이이 URL을 변경 한 후이 url.be 확인 읽은 변경됩니다 :

var QbqnsStore=this.getStore('qb.QbqnsStore').load({url:'newUrl'}); 
당신은 단순히 은 산부인과의 속성을 읽을 변경할 수 있습니다
0

ject 프록시 :

var store = this.getStore('qb.QbqnsStore'); 
    proxy = store.getProxy(); 
    proxy.api.read = 'http://127.0.0.1/myNewUrl'; 

그리고 store.sync() 또는 store.load() 메소드를 호출.

관련 문제