美好的一天,
我是 extjs 5 和mvvm的新手。我想制作一个ajax请求,以便显示一个带有php的数据的treepanel。
这是我的商店
Ext.define('MyApp.store.servicesStore', {
extend: 'Ext.data.TreeStore',
// alias: 'store.servicesStore',
storeId : 'servicesStore',
model : 'MyApp.model.servicesModel',
proxy: {
type: 'ajax',
url: 'app/store/data/GetServices.php'
},
root: {
text: 'Events',
id: 'root'
},
autoLoad: true,
folderSort: true
});
我已经看到“成功”可以解决这个问题,但我不需要成功,因为它只显示在treePanel
Ext.define('MyApp.view.tabServices.servicesTab', {
extend: 'Ext.tree.Panel',
xtype: 'servicesTab',
layout: {
type: 'border'
},
useArrows: true,
rootVisible: false,
store: {type: 'servicesStore'},
forceFit: true,
columns: [{
xtype: 'treecolumn',
dataIndex: 'text',
width: 600
}, {
dataIndex: 'mbt',
cls: 'mbtcss',
width: 80
}, {
dataIndex: 'bt',
cls: 'btcss',
width: 75
}, {
dataIndex: 'details', // port separated from rest
width: 60
}, {
dataIndex: 'code',
width: 80
}]
});
因此,当我启动我的应用程序时,出现“你正在尝试解码无效的JSON字符串”,我怎么能让它理解我实际上使用的是php文件? 更确切地说,该代码在extjs 3.4中起作用
答案 0 :(得分:1)
要运行在ExtJS 4下工作的PHP代码,您必须修改PHP以返回JSON格式的数据。或者您将“启用兼容性”设置为版本4。
请参阅http://docs.sencha.com/extjs/5.0/whats_new/5.0/extjs_upgrade_guide.html#Enabling_Compatibility下的“启用兼容性”。
compatibility: {
ext: '4.2'
}