欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ajax的异步请求

程序员文章站 2024-01-25 20:02:28
...
  $("#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方法来实现。