我正在尝试使用 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 的端口上运行,并且显然会在data
URL 上返回一些数据。但它仍然没有在我的应用程序中显示。使用内存代理它工作正常。
完整存储类:https ://github.com/jehaby/Cognitive/blob/master/Cognitive/app/store/Personnel.js 完整存储库:https ://github.com/jehaby/Cognitive/ 此处创建的 ExtJS 应用程序:https ://github.com/jehaby/Cognitive/Cognitive