4

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

所以proxy的read属性设置在Url上面。现在我想将同一个商店用于其他视图,但使用不同的 Url 读取属性。那么如何动态更改商店的读取 URL?我曾尝试过按钮单击事件我想从 url-/index.php/QuestionBank/qbpaper/Reviewquestionpaper111 读取数据

所以在按钮点击功能上,我写成——

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。Bt 它不工作。那么如何在读取属性中使用不同的 URL 来使用相同的存储。

4

4 回答 4

3

您可以尝试如下:

QbqnsStore.proxy.url =  'new url';

这将改变它的读取网址。确保在更改网址后您应该重新加载您的商店:

QbqnsStore.reload();
于 2013-02-20T11:41:34.357 回答
2

您可以使用以下代码:

 var QbqnsStore=this.getStore('qb.QbqnsStore').load({url:'newUrl'});
于 2013-03-04T10:51:43.473 回答
0

您可以简单地更改对象代理的读取属性:

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

然后调用store.sync()store.load()方法。

于 2014-08-21T12:01:15.490 回答
0

store.proxy.api.read = '新网址';

于 2016-04-25T13:33:52.980 回答