未捕获的TypeError:无法设置未定义的属性“nodeId”

我在boostrap-treeview.js上收到此错误:267为我的boostrap-treeview检索JSON数据时。

$(document).ready(function() { $.ajax({ url: "js/category_data.php", method:"POST", dataType: "json", success: function(data) { $('#doctypesTree').treeview({ data: data }); } }); }); 

JSON数据如下:

 { "2":{ "id":"12", "text":"Certified copy", "Description":"","root":"0" }, "3":{ "id":"13", "text":"Charter", "Description":"", "root":"0" }, "4":{ "id":"14", "text":"Codicil (will)", "Description":"", "root":"0" }, "5":{ "id":"15", "text":"Cohabitation agreement", "Description":"", "root":"0" }, "6":{ "id":"16", "text":"Collateral assurance", "Description":"", "root":"0" }, "7":{ "id":"17", "text":"Commercial invoice", "Description":"", "root":"0" }, "8":{ "id":"18", "text":"Complaint", "Description":"", "root":"0" }, "9":{ "id":"19", "text":"Conservation easement", "Description":"", "root":"0" }, "10":{ "id":"20", "text":"Consignee", "Description":"", "root":"0" }, "11":{ "id":"21", "text":"Consumer complaint", "Description":"", "root":"0" }, "12":{ "id":"22", "text":"Contract", "Description":"", "root":"0" }, "13":{ "id":"23", "text":"Contractual term", "Description":"", "root":"0" }, "14":{ "id":"24", "text":"Contractual terms in English law", "Description":"", "root":"0" }, "15":{ "id":"25", "text":"Florence Annie Conybeare", "Description":"", "root":"0" }, "16":{ "id":"26", "text":"Copyright transfer agreement", "Description":"", "root":"0" }, "17":{ "id":"27", "text":"Countersign (legal)", "Description":"", "root":"0" }, "18":{ "id":"28", "text":"County Court judgment", "Description":"", "root":"0" }, "19":{ "id":"29", "text":"Credit Support Annex", "Description":"", "root":"0" }, "20":{ "id":"30", "text":"Customs declaration", "Description":"", "root":"0" }, "21":{ "id":"31", "text":"Bills", "Description":"", "root":"0", "nodes":[ { "id":"4", "text":"Bill of costs", "Description":"This type gather all documents related to costs","root":"31" }, { "id":"5", "text":"Bill of sale", "Description":"","root":"31" } ] } } 

我正在使用Bootstrap Tree View

有任何想法吗

你的json是一个对象。 您必须将其转换为数组才能使树工作。 您可以更改您的PHP以返回正确的数组或使用javascript将其转换为数组,如下所示。

 var data = { "2": { "id": "12", "text": "Certified copy", "Description": "", "root": "0" }, "3": { "id": "13", "text": "Charter", "Description": "", "root": "0" }, "4": { "id": "14", "text": "Codicil (will)", "Description": "", "root": "0" }, "5": { "id": "15", "text": "Cohabitation agreement", "Description": "", "root": "0" }, "6": { "id": "16", "text": "Collateral assurance", "Description": "", "root": "0" }, "7": { "id": "17", "text": "Commercial invoice", "Description": "", "root": "0" }, "8": { "id": "18", "text": "Complaint", "Description": "", "root": "0" }, "9": { "id": "19", "text": "Conservation easement", "Description": "", "root": "0" }, "10": { "id": "20", "text": "Consignee", "Description": "", "root": "0" }, "11": { "id": "21", "text": "Consumer complaint", "Description": "", "root": "0" }, "12": { "id": "22", "text": "Contract", "Description": "", "root": "0" }, "13": { "id": "23", "text": "Contractual term", "Description": "", "root": "0" }, "14": { "id": "24", "text": "Contractual terms in English law", "Description": "", "root": "0" }, "15": { "id": "25", "text": "Florence Annie Conybeare", "Description": "", "root": "0" }, "16": { "id": "26", "text": "Copyright transfer agreement", "Description": "", "root": "0" }, "17": { "id": "27", "text": "Countersign (legal)", "Description": "", "root": "0" }, "18": { "id": "28", "text": "County Court judgment", "Description": "", "root": "0" }, "19": { "id": "29", "text": "Credit Support Annex", "Description": "", "root": "0" }, "20": { "id": "30", "text": "Customs declaration", "Description": "", "root": "0" }, "21": { "id": "31", "text": "Bills", "Description": "", "root": "0", "nodes": [{ "id": "4", "text": "Bill of costs", "Description": "This type gather all documents related to costs", "root": "31" }, { "id": "5", "text": "Bill of sale", "Description": "", "root": "31" }] } }; var dataArray = []; for (var key in data) { if (data.hasOwnProperty(key)) { dataArray.push(data[key]); } }; $('#tree').treeview({data: dataArray}); 
    
Interesting Posts