0

我会在我的代理 api 存储中放置一个变量(使用 crud),但它不起作用。

api配置是一个对象,你能在javascript的对象中使用一个变量吗?

我使用 Sencha Architect 和他格式化 api...

你有什么建议吗?

我的基地商店:

Ext.define('ModuleGestion.store.Pays', {
    extend: 'Ext.data.Store',

    requires: [
        'ModuleGestion.model.Pays'
    ],

    constructor: function(cfg) {
        var me = this;
        cfg = cfg || {};
        me.callParent([Ext.apply({
            autoLoad: true,
            model: 'ModuleGestion.model.Pays',
            storeId: 'StorePays',
            proxy: {
                type: 'ajax',
                api: {
                    create: 'http://visual04/ModuleGestion/php/Pays.php?action=create',
                    read: 'http://visual04/ModuleGestion/php/Pays.php?action=read',
                    update: 'http://visual04/ModuleGestion/php/Pays.php?action=update',
                    destroy: 'http://visual04/ModuleGestion/php/Pays.php?action=destroy'
                },
                reader: {
                    type: 'json',
                    root: 'data'
                },
                writer: {
                    type: 'json',
                    root: 'data'
                }
            }
        }, cfg)]);
    }
});

我的模型在 api 代理中有变量

var Url = 'http://visual04/ModuleGestion/php/';
var UrlPays = Url+'Pays.php';

Ext.define('ModuleGestion.store.Pays', {
        extend: 'Ext.data.Store',

    requires: [
        'ModuleGestion.model.Pays'
    ],

    constructor: function(cfg) {
        var me = this;
        cfg = cfg || {};
        me.callParent([Ext.apply({
            autoLoad: true,
            model: 'ModuleGestion.model.Pays',
            storeId: 'StorePays',
            proxy: {
                type: 'ajax',
                api: '{\r\n    create: UrlPays+'action=create',\r\n    read: UrlPays+'action=read',\r\n    update: UrlPays+'action=update',\r\n    destroy: UrlPays+'action=destroy'\r\n}',
                reader: {
                    type: 'json',
                    root: 'data'
                },
                writer: {
                    type: 'json',
                    root: 'data'
                }
            }
        }, cfg)]);
    }
});
4

1 回答 1

0

您可以UrlPays在文件中的任何地方使用,因为您在全局范围内(即在任何函数之外)声明了它。

如果您修复此行,那应该可以工作:

api: '{\r\n    create: UrlPays+'action=create',\r\n    read: UrlPays+'action=read',\r\n    update: UrlPays+'action=update',\r\n    destroy: UrlPays+'action=destroy'\r\n}',

像这样:

api: {
    create: UrlPays + 'action=create',
    read: UrlPays + 'action=read',
    update: UrlPays + 'action=update',
    destroy: UrlPays + 'action=destroy'
},

看到语法荧光笔的区别了吗?

于 2013-06-12T21:19:18.177 回答