jquery ajax|Jquery Ajax异步加载数据和Ztree自带异步加载数据

更新时间:2019-05-29    来源:jquery    手机版     字体:

【www.bbyears.com--jquery】

今天我们来学习Ztree异步加载数据的。我测试的全国城市数据有大概3900条。   我测试了一下Jquery 自带的$.ajax方法和Ztree的setting的async参数,性能上毫秒级别的,但是Ztree的setting的async参数性能上更好一些。 如图: Ztree的setting的async参数说明: autoParam:异步加载时需要自动提交父节点属性的参数。[setting.async.enable = true 时生效] 默认值:[ ]. 这个提交是ztree自带的一个属性的参数。记住。 contentType:和jquery contentType的一样 dataFilter:数据过滤函数,可以不要 dataType:和jquery dataType的一样 enable:是否异步。true 表示 开启 异步加载模式 false 表示 关闭 异步加载模式 如果设置为 true,请务必设置 setting.async 内的其它参数。 如果需要根节点也异步加载,初始化时 treeNodes 参数设置为 null 即可。   otherParam:这个是我们可以自定义的参数了。直接用 JSON 格式制作键值对,例如:{ key1:value1, key2:value2 }   otherParam: {  "oper":"city" }  type:和jquery type的一样 url:服务地址。设置固定的异步加载 url 字符串,请注意地址的路径,确保页面能正常加载。 url 内也可以带参数,这些参数就只能是通过 get 方式提交了,并且请注意进行转码 一些jquery的参数可以参考:[jquery $.ajax()实现Post数据到服务端]     我是使用了时间戳做了一下对比:

 

 代码如下   
var
 
begin = (
new
 
Date()).valueOf(); ;;
   
$(
"#beginztree"
).html(begin);
   
$.fn.zTree.init($(
"#treeDemoztree"
), setting);
   
var
 
endztree = (
new
 
Date()).valueOf(); ;;
   
$(
"#endztree"
).html(endztree-begin);

本次测试仅代表我当前环境的。

 

上代码:

 代码如下

var AjaxUrl = "service/Cityhandler.ashx";

     $(document).ready(function () {

        $("#tab-container").easytabs(); GetCityZtree();

        GetCity();   

});

 

//获取测试类型统计数据

function GetCity() {

    var begin = (new Date()).valueOf(); ;;

    $("#begin").html(begin);

    $.ajax({

        type: "post",

        dataType: "json", traditional: true,

        data: { oper: "city" },

        url: AjaxUrl,

        async: true,//表示同步执行

        success: function (data, textStatus) {

            if (data != null) {

                

                $.fn.zTree.init($("#treeDemo"), setting, data);

                var end = (new Date()).valueOf(); ;;

                $("#end").html(end - begin);

            }

        },

        complete: function (XMLHttpRequest, textStatus) { },

        error: function (e) {

 

            

            alert("获取测试类型统计数据失败,请刷新页面重新加载!");

        }

    });

}

var setting = {

    async: {

        enable: true,

        url: AjaxUrl,

        autoParam: [ ["id"],["zid"] ],

        otherParam: {  "oper":"city" }

    }

};

 

function filter(treeId, parentNode, childNodes) {

    if (!childNodes) return null;

    for (var i = 0, l = childNodes.length; i < l; i++) {

        childNodes[i].name = childNodes[i].name.replace(/.n/g, ".");

    }

    return childNodes;

}

//获取测试类型统计数据

function GetCityZtree() {

    var begin = (new Date()).valueOf(); ;;

    $("#beginztree").html(begin);

    $.fn.zTree.init($("#treeDemoztree"), setting);

    var endztree = (new Date()).valueOf(); ;;

    $("#endztree").html(endztree-begin);

}

原文来自:http://www.suchso.com/projecteactual/ztree-jiaocheng-aspnet-demo-ashx-jquery-ajax-ztree-setting-async.html  感谢站长

 

本文来源:http://www.bbyears.com/wangyezhizuo/52491.html

热门标签

更多>>

本类排行