ajax的异步请求

Posted 来自IT国的猴子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax的异步请求相关的知识,希望对你有一定的参考价值。

  $("#form1").attr("action", url);
                var formData = $("#form1").serialize();
                $.ajax({
                    type: "POST",
                    url: "/tohersystem/dataexport/migration.do",
                    dataType: "json",
                    data: formData,
//                    async:false,
                    beforeSend: function () {
                        layer.load(1);
                    },
                    success: function (returnData) {
                        if (returnData.code == "success") {
                            window.location.href = ‘/FileDownload?filePath=‘+returnData.msg
                            layer.closeAll();
                        } else{
                            layer.closeAll();
                            layer.msg(returnData.msg, {icon: 5, time: 1000});
                            layer.close();
                        }
                    }
                });

  

  1. layer.load()  显示的是一个加载中的动画;

  2. 关于参数,layer.load();

    例子1:

    layer.load (0);

    参数可以设置为0、1、2分别代表不同的动画效果;

    例子2:

  layer.load(2, {time: 3*1000});

  //表示动画效果为2,最长停留时间为3秒

    3. 注意

    layer.load()一般不会自动关闭,调用layer.load()一般是ajax()回调后处理的,如果回调没有结果或者数据错误,就执行;如果执行完毕,就关闭layer.load();

关闭方法:layer.close();    

 

常见的一种效果,在用ajax请求时,没有返回前会出现前出现一个转动的loading小图标或者“内容加载中..”,用来告知用户正在请求数据。这个就可以用beforeSend方法来实现。

以上是关于ajax的异步请求的主要内容,如果未能解决你的问题,请参考以下文章

ajax同步与异步的区别

ajax同步请求与异步请求的区别

Ajax 异步请求(登录案例实现 + ajax实现二级联动)

用Promise解决多个异步Ajax请求导致的代码嵌套问题

ajax同步异步

多个异步ajax请求指定顺序执行