我的數據顯示在控制檯中,但不顯示在ExtJs樹中?分機樹,數據顯示在控制檯中,但不顯示在頁面上
我的PHP文件
$data = array();
$sql = "";
if (!isset($_POST['node'])) {
// first select the top node that have no parent
$sql = "SELECT id_no,value_data FROM extjs_tree WHERE parent IS NULL";
} else {
// select data with parent_id = $_POST['node']
$sql = "SELECT id_no, value_data FROM extjs_tree WHERE parent = '". $_POST['node'] ."'";
}
$q = mysql_query($sql);
while ($r = mysql_fetch_array($q)) {
// check if have a child node
$qq = mysql_query("SELECT id_no, value_data FROM extjs_tree WHERE parent = '". $r['id'] ."'");
if (mysql_num_rows($qq) > 0) {
// if have a child
$r['leaf'] = false;
$r['cls'] = 'folder';
} else {
// if have no child
$r['leaf'] = true;
$r['cls'] = 'file';
}
$data[] = $r;
}
echo json_encode($data);
我的JS文件
Ext.require([
'Ext.tree.*',
'Ext.data.*',
'Ext.tip.*'
]);
Ext.onReady(function() {
Ext.QuickTips.init();
var store = Ext.create('Ext.data.TreeStore', {
proxy: {
type:'ajax',
actionMethods:'post',
url:'get-nodes.php'
},
root: {
text: 'Root Node',
id: 'root_node',
expanded: true
},
folderSort: true,
sorters: [{
property:'text',
direction:'ASC'
}]
});
var tree = Ext.create('Ext.tree.Panel', {
store: store,
renderTo: 'tree_el',
height: 300,
width: 250,
title: 'Products Display'
});
});
我得到正確的樹,我可以看到在控制檯中的數據。但我無法看到ExtJs顯示值
我現在的結果
我預期的結果應該是
旁註:有在行'$ SQL =巨大的安全漏洞「SELECT id_no,value_data FROM extjs_tree WHERE parent ='「。 $ _POST ['node']。「'」;'。 http://xkcd.com/327/ –
你必須改變'value:'爲'text:'或者映射你的模型,因爲你使用的是默認的NodeMap。 – VoidMain