关闭

$.ajax同步或异步

53人阅读 评论(0) 收藏 举报
分类:

ajax通常情况下都是执行异步请求,这样用户体验上更友好,但有时还是存在需要同步执行的情况的。</span>

比如,我需要需要通过ajax请求后返回数据,这个数据必须是在ajax后才执行的,此时就要用到asnyc:false(ajax默认是true,即异步);

async:true,(默认):异步,$.Ajax执行后,会继续执行ajax后面的脚本,直到服务器端返回数据后,触发$.Ajax里的success方法,这时候执行的是两个线程。

async:false:同步,所有的请求均为同步请求,在没有返回值之前,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。



//获取老的数据
                function t() {
                    $.ajax({
                        url: "/home/GetShopHeadStyle",
                        type: "get",
                        dataType: "json",
                        async: false,
                        success: function (data) {
                            if (data.state) {
                                s = eval('(' + data.headStyle + ')');
                            }
                        }<pre name="code" class="html">                    //初始化
                    init: function () {
                        t();
                        $('#colorsample-pickh').css("background-color", "#"+s.currentConfig.bgColor)
                    }

}) }



此地方必须是等t()加载返回数据后才执行出初始化函数,否则初始化颜色则不成功



1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:143次
    • 积分:33
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档