如何在ExtJS4中动态更改代理api?

如何在ExtJS4中动态更改代理api?,api,extjs,proxy,extjs4,Api,Extjs,Proxy,Extjs4,我在使用MVC结构的extjs4中工作,我想将api的代理设置(创建)更改为另一个url。我现在陷入了困境。下面是我的一些代码 Ext.define('Balaee.model.sn.UserModel',{ extend: 'Ext.data.Model', //idproperty:'userId',//fields property first position pk. fields: ['userId','firstName','mid

我在使用MVC结构的extjs4中工作,我想将api的代理设置(创建)更改为另一个url。我现在陷入了困境。下面是我的一些代码

 Ext.define('Balaee.model.sn.UserModel',{
        extend: 'Ext.data.Model',
        //idproperty:'userId',//fields property first position pk. 
        fields: ['userId','firstName','middleName','lastName','languageId','primaryEmail','birthDate','password','securityQuestionId','securityQuestionAnswer','isMale','creationTime','ipAddress','confirmationCode','userStatusId',],
        proxy:
        {
            type:'ajax',
            api:
            {
                read:'http://localhost/balaee/Balaee/index.php?r=SocialNetworking/user/AuthenticateLogin',
                create:'http://localhost/balaee/Balaee/index.php?r=SocialNetworking/user/AuthenticateLogin',
                update:'http://localhost/balaee/Balaee/index.php?r=SocialNetworking/user/Registration'

            },//end of api
            reader:
            {
                type:'json',
            },//end of reader
            writer:
            {
                type:'json',
                root:'records',
            },//End of writer
        }//end of proxy
}

请给我一些建议。

您可以使用
Ext.apply
Ext.applyIf
执行类似操作

var userModel = Ext.create('Balaee.model.sn.UserModel',{}),
    proxy = userModel.getProxy();

Ext.apply(proxy.api, {
    create  : '/controller/new',
    read    : '/controller/load',
    update  : '/controller/update',
    destroy : '/controller/destroy_action'
});

如果无法覆盖,则使用applyIf。我建议使用justapply,这样您就可以更改已经设置的属性。也可以更改整个代理,因为我不确定这是否会起作用(即使它应该起作用,至少对于url API),您是对的@sra..再次..:)applyIf仅在配置不存在时应用。