2013-02-20 21 views
5

sto lavorando in extjs. ho negozio as-Come utilizzare lo stesso negozio con URL diversi in extjs

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

Quindi la proprietà di lettura del proxy è impostata sull'URL sopra. Ora voglio usare questo stesso negozio per qualche altra vista ma con un URL diverso per la proprietà di lettura. Come modificare dinamicamente l'URL di lettura del negozio? Avevo provato AS- sul evento click del pulsante voglio leggere i dati da url- /index.php/QuestionBank/qbpaper/Reviewquestionpaper111

così via funzione di tasto di scatto che avevo scritto AS

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

     }); 

Ho creato la variabile di questo negozio e fornito il nuovo URL richiesto. Bt non funziona. Quindi, come utilizzare lo stesso archivio per visualizzazioni diverse con URL diversi nella proprietà di lettura.

risposta

3

Si può provare come segue:

QbqnsStore.proxy.url = 'new url'; 

e questo cambierà lo ha letto url.be sicuro che dopo aver cambiato l'url si dovrebbe ricaricare il vostro negozio:

QbqnsStore.reload(); 
+0

Grazie signore per la risposta. Ho provato come hai detto. Ma non funziona. Non chiama questo URL appena inserito. – user2077845

+0

qualcuno può aiutarmi per favore ... – user2077845

2

È possibile utilizzare questo codice:

var QbqnsStore=this.getStore('qb.QbqnsStore').load({url:'newUrl'}); 
0

Si può semplicemente cambiare il leggere proprietà di ob Ject delega:

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

e quindi chiamare store.sync() o store.load() metodi.