function StartProducts(v) {
    var jsonStr = "";
    jQuery.ajax({                                                                //用ajax调用后台方法
        type: "post",                                                       //post方法
        contentType: "application/json; charset=utf-8",                     //获取返回值格式
        url: "WebServiceKatongdiao.asmx/zhuanhuan",                                   //方法名称
        data: "{\"type\":\""+v+"\"}",                                       //方法参数
        async: false,                                                       //禁用异步
        dataType: 'json',                                                   //返回类型
        success: function (data) {
            jsonStr = window["eval"]("(" + data.d + ")");                   //返回值
        },
        Error: function (err) {
            alert(err);
        }
    });
    search_content_array = jsonStr;
    load_html_start_products(1);                                            //调用填充方法
}function load_html_start_products(page) {
    var total_item = 12;                                                    //每页显示的条数
    var length = search_content_array.length;                               //显示 json的值(数组的个数)
    var total_page = Math.ceil(length / total_item);                        //总页数 
    var begin = (page - 1) * total_item;                                    //第几页(开始记录)
    var end = page * total_item;                                            //最后记录(如:1页(0---4))    var message_obj = new Object();
    //page是传值    message_obj.page = page;                                                //当前页码
    message_obj.total_page = total_page;
    var buf = [];
    if (0 < page && page <= total_page) {
        for (var i = 0; i < search_content_array.length; i++) {
            if ((i >= begin) && (i < end)) {
                buf.push(make_content_list_products(search_content_array[i]));  //填充页码
            }
        }
        jQuery(".HomePageMain_body_simplePlay_pictureControl").html(buf.join(""));                   //填充页码    }
    $(".HomePageMain_body_simplePlay_pictureControl_pictureFrame_picture img").click(function () {
        window.location.href = "CreatePic.aspx?backImgId=" + $(this).attr("id") + "&imgSrc=" + $(this).attr("src"); //点击图片时做出相应跳转
    });这是我调用ajax的方法
这个是要在页面初始化的时候调用的,当把async:false添加上去的时候  ajax不执行也不处理  ,进行的是同步处理,  页面能够显示出后台查询出来的数据, 当把async:false去掉的时候,默认是做的异步处理, 页面上显示不出来后台查询出的数据,  请问一下各位高手, 我该怎么调用才能够既进行异步处理,页面上又能够显示出数据呢?

解决方案 »

  1.   

    不明白你的意思。同步情况下,能显示后台查询的数据  异步的时候又显示不出来了。
      
    难道异步的时候对dom操作失效了?
    应该不会吧。
    search_content_array 这个是全局变量么?为什么要这样写啊。貌似越来越复杂化了。
      

  2.   


    function StartProducts(v) {
        var jsonStr = "";
        jQuery.ajax({                                                                //用ajax调用后台方法
            type: "post",                                                       //post方法
            contentType: "application/json; charset=utf-8",                     //获取返回值格式
            url: "WebServiceKatongdiao.asmx/zhuanhuan",                                   //方法名称
            data: "{\"type\":\""+v+"\"}",                                       //方法参数                                                          //禁用异步
            dataType: 'json',                                                   //返回类型
            success: function (data) {
                jsonStr = window["eval"]("(" + data.d + ")");                   //返回值
                  search_content_array = jsonStr;
                load_html_start_product(1);               //  位置调这里 调用填充方法        },
            Error: function (err) {
                alert(err);
            }
        });
       }
      

  3.   

    异步处理 加载数据 必须等到异步处理完毕 再执行下面的函数 才有效果。
    否则异步都还没有结束,就调用方法加载dom数据,肯定没有结果的改进看上面回复 调换位置