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 に答える