ajax的异步请求

本文详细介绍了如何使用layer.js库在页面上显示加载动画,并结合jQuery的ajax方法实现数据导出功能。通过具体代码示例,展示了如何设置不同类型的加载动画效果,以及在ajax请求前后如何控制加载动画的显示与关闭。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  $("#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方法来实现。

转载于:https://www.cnblogs.com/itchenfirst/p/7324364.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值