1

我正在尝试使用 ExtJs6 和 Lumen 作为后端 PHP 框架创建简单的 crud 应用程序。我按照标准文档创建了 extJS 应用程序。我的 extJS 在http://localhost:1841/上运行,使用内置 sencha 服务器 ( sencha app watch)。

当我改变

proxy: {
    type: 'memory',
    reader: {
        type: 'json',
        rootProperty: 'items'
    }
}

proxy: {
    type: 'ajax',
    url: 'data',
    reader: {
        type: 'json',
        rootProperty: 'items'
    },
    autoload: true,
    listeners: {
        exception: function (proxy, response, operation) {
            Ext.MessageBox.show({
                title: 'REMOTE EXCEPTION',
                msg: operation.getError(),
                icon: Ext.MessageBox.ERROR,
                buttons: Ext.Msg.OK
            });
        }
}

并将这些侦听器添加到我的代理和存储对象

   beforeLoad: function(store, operation){ // 1st; no data items
        console.log('beforeLoad');
        console.log(store.data.items);
    },
    dataChanged: function(store){ // 2nd; data items populated, controls still empty

        console.log('dataChanged');
        console.log(store.data.items);
    },
    load: function(store, records, success){ // 3rd; data items populate, controls show data
        console.log('load');
        console.log(store.data.items);
    }

我希望MessageBox在浏览器控制台中看到一些错误或一些消息,但两者都没有。顺便说一句,http://localhost:1841/data URL 上没有任何内容。所以,两个主要问题:

  • 为什么我的console.log(..代码MessageBox不起作用?

  • 有没有办法告诉 sencha 内置服务器返回特定 url 上的一些示例 json 数据?

PS:我会sencha app build编译 js,然后在 PHP 应用程序中使用它,该应用程序在另一个 localhost 的端口上运行,并且显然会在dataURL 上返回一些数据。但它仍然没有在我的应用程序中显示。使用内存代理它工作正常。

完整存储类:https ://github.com/jehaby/Cognitive/blob/master/Cognitive/app/store/Personnel.js 完整存储库:https ://github.com/jehaby/Cognitive/ 此处创建的 ExtJS 应用程序:https ://github.com/jehaby/Cognitive/Cognitive

4

0 回答 0