layui实现请求前添加一个加载 loading 的效果,并在请求成功后关闭

1.使用 layui 的 layer 组件来实现请求前添加一个加载 loading 的效果,并在请求成功后关闭。

$("#switch").click(function() {
   layer.confirm('确认切换至英文环境?', function(index) {
      var loadingIndex = layer.load(1, {
         shade: [0.1,'#fff'] //0.1透明度的白色背景
      });

      $.ajax({
         url: '<%=rootPath%>/login/langSwitch',
         type: 'post',
         dataType: 'json',
         data: {
            language: 'en'
         },
         success: function (data) {
            if (data.code == 10000) {
               layer.closeAll("loading");
               layer.msg(tips(data.code));
            }
         },
         error: function (data){
            layer.closeAll("loading");
         }
      })

      layer.close(index);
   });
   return false;
});

在以上的代码中,我们使用了 layer.load() 方法来创建一个 loading 效果,将其返回值保存到一个变量 loadingIndex 中。然后,在发送请求前,我们展示这个 loading,并将其返回值赋值给 loadingIndex,用于在请求成功或失败时关闭 loading。请求成功时,我们使用 layer.closeAll("loading") 来关闭页面上所有的 loading。请求失败时同理。最后,我们在弹出对话框之后将其关闭。

其中,layer.msg() 方法可以用于在页面上弹出消息提示框。具体内容可以根据需要进行调整。

你可能感兴趣的:(layui,javascript,前端)