Ext JS存储同步更改方法

时间:2015-02-17 11:58:35

标签: ajax post extjs store put

是否可以更改商店snync()请求使用的dafault方法POST。

我尝试过以下但是没有用。我想将方法​​从POST改为PUT。

我知道我可以写一个自定义的Ajax请求,但是有没有办法用store sync()函数完成呢?

    store.sync({
        method: 'PUT',
        scope:this,

        callback: function(batch, options){
        },
        success : function(batch, options) {
        },
        failure :  function(batch, options) {
        }

    });
}

我也尝试过这种方法但没有成功:

store.getProxy().method =  'PUT';

1 个答案:

答案 0 :(得分:0)

在商店的代理配置中,您可以配置api为每种类型的操作制定特定的请求方法。

例如:

proxy: {
    type: 'ajax',
    actionMethods: {
        create: 'POST',
        read: 'GET',
        update: 'POST',
        destroy: 'POST'
    },
    batchActions: false,
    api: {
        create: 'foo/sample.json',
        read: 'bar/sampleB.json',
        update: 'test/test.json',
        destroy: 'admin/testa.json'
    },
    reader: {
        type: 'json',
        root: 'data'
    },
    writer: {
        type: 'json'
    }
}

修改

上面的代码是从Sencha Architect生成的,但如果您不使用Architect,您可以在REST代理上定义api操作,如下所示:

proxy: {
    type: 'rest',
    api: {
        create: {url: 'foo/sample.json', method: 'POST'},
        read: {url: 'bar/sampleB.json', method: 'GET'},
        update: {'test/test.json', method: 'PUT'},
        destroy: {'admin/testa.json', method: 'POST'}
    }
}