写那篇小说是因为本身上边Ztree的篇章引发的自身对js的商量,不领悟的能够先看看上边Ztree的归来数据那块,因为是同2个小例子,上篇是具有的代码,上海图书馆:

json 1

笔者注明全局变量tree,在Success回调函数里把回调的数量赋值给变量,作者当即想着依照编程习惯做法也都以那,可是难点应运而生了,作者先简单说下Console.info这一个主意是在控制台打字与印刷数据,因为alert重返数据的时候假使是json1些数量的时候,你是alert不出去实际多少的,这些情势是试用火狐的,IE是万分的切近,这么些不商讨那个,火狐上装的是Firebug插件,打字与印刷的结果是,如图:

json 2

打字与印刷的结果是未有的,接着自个儿按上面那种艺术如下图
,也便是自家把打印放在回调函数里是能够打字与印刷出来数据的,

json 3

那儿小编疑忌的是为何回调过来的数码无法赋值给全局变量,紧接着本人看了Jquery
的API,发现了协同的不贰法门,也正是如下图:

json 4

json,async:
false在ajax里增加是能够的,当然除了那几个方式之外还足以把$.fn.zTree.init($(“#treeDemo”),
setting,
tree);那段代码写在回调函数里也是足以兑现树形菜单的,然则本人要么纠结为何回调的数码部能赋值给变量,接下去本人有做了另五个试验,如下图:

json 5

自家在回调里面打字与印刷了下,又在外边打字与印刷了下,结果如下图:

json 6

先打字与印刷出来的是底下的,难题相比较明知道,就算本人先写的ajax可是仍旧先进行的下面的代码,所以万分变量tree是打字与印刷不出去的,而在回调里面包车型地铁是新兴赋值的所以能打字与印刷出来,总括下那就是根据作者1开首的写法异步请求无法将重临值传给全局变量的,因为JS只管执行当前代码,顺序执行。发送请求了,那是呼吁响应的事,它不管那么些,只管继续执行在它前面的代码,所以是得不到变量赋值的,要想传给变量能够选择同步也正是async:
false,可是共同是要1并请求将锁住浏览器,用户其余操作必须等待请求达成才足以执行。假诺想要赋值给Ztree的树形菜单数据以来,小编最终依然采用了在回调函数里开始展览开首化,想在深刻摸底的门阀能够看下JS异步原理,那里笔者就不多研商了,大家可以看看Ztree那篇的代码,好了,截止。

第二遍比较标准的写技术文章尽量写的事无巨细些,此前一向学习钻研事物也没倒上写。未来时间允许的话作者会尽量把在此之前的下结论给我们,比较技术是交换和共享的,希望我们都晓得,不管事技术好的照旧刚入门的都能够看懂,希望对急需的意中人或多或少支援。有啥难点得以举报给自己,小编会立即的给你们答应。QQ57十01325

相关文章

网站地图xml地图