1. 程式人生 > >Ext.data.Store動態修改url

Ext.data.Store動態修改url

authorStore = new Ext.data.Store( {});

直接這樣修改store的url是不行的:

authorStore.url = path;

在load與reload指定url也是不行的:

authorStore.load({url:path,params:{}})

authorStore.reload({url:path,params:{}})

這樣也不行

authorStore.proxy.url = path;

只能這樣改:

authorStore.proxy = new Ext.data.HttpProxy({url:path});

猜想,原因可能是,在store初始化時,當只指定url時,預設會建立一個HttpProxy物件,而在load之前再修改store的url時,並不會以store的url去訪問伺服器而是以proxy為準,並且二者之間的url會同步,只修改一個會出錯,除非重新建立一個新的proxy

或者:

//HttpProxy:
store.proxy.conn.url = 'myNewUrl.php';
//ScriptTagProxy:
store.proxy.url = 'myNewUrl.php';