<script type="text/javascript"> var nodeList; $(document).ready(function() { renderMenu(); alert(JSON.stringify(nodeList)); $.fn.zTree.init($("#treeDemo"), setting, nodeList); setCheck(); }); function renderMenu() { $.ajax({ type: "get", url: "http://192.168.0.32:8888/" + "menu/list", dataType: "json", async: false, success: function(data) { nodeList = new Array(); for(var i = 0; i < data.length; i++) { var node = new Node(); node.id = data[i].id; node.pId = data[i].parent_id; node.name = data[i].name; node.open = true; nodeList.push(node); } } }); } var setting = { check: { enable: true }, data: { simpleData: { enable: true } } }; function Node(id, pId, name, open) { this.id = id; this.pId = pId; this.name = name; this.open = open; } function setCheck() { var zTree = $.fn.zTree.getZTreeObj("treeDemo"), type = { "Y": "ps", "N": "px" }; zTree.setting.check.chkboxType = type; } </script>
重点就是,
ajax请求是发出去,就直接走后面的代码了,不会管success里面的方法,所以没有取到值是因为在使用的时候nodeList的却是还没有值,以上是使用zTree的时候遇到的。async: false,
只是想记录遇到的问题哦~
JS,全局变量,ajax中赋值,在其他闭包里没有拿到值
最新推荐文章于 2022-11-17 19:39:18 发布