返回列表 发新帖

ajax显示正在加载_备份时持续显示“正在上传备份文件

[复制链接]

16

主题

75

帖子

143

积分

注册会员

Rank: 2

积分
143
发表于 2024-10-6 01:14:06  | 显示全部楼层 | 阅读模式
在备份过程中,通过ajax技术持续显示“正在上传备份文件”,以提示用户当前操作状态。
当使用Ajax进行文件上传时,为了给用户一个良好的体验,可以在上传过程中持续显示“正在上传备份文件”的提示信息,以下是详细的步骤和小标题:

zbhjgrocklb51qj.jpg

zbhjgrocklb51qj.jpg


(图片来源网络,侵删)
1、引入必要的库和样式
   在HTML文件中引入jQuery库和Bootstrap库,用于实现Ajax和美化界面。
2、创建上传按钮和进度条容器
   在HTML文件中创建一个上传按钮和一个用于显示进度条的容器。
3、编写JavaScript代码
   使用jQuery编写Ajax请求,监听文件上传事件。
   在文件上传过程中,显示“正在上传备份文件”的提示信息。

zbhjhrhwoqmmxwo.jpg

zbhjhrhwoqmmxwo.jpg


(图片来源网络,侵删)
   使用Bootstrap的进度条组件,实时更新进度。
4、设置服务器端处理文件上传的逻辑
   在服务器端编写处理文件上传的逻辑,接收文件并保存到指定位置。
   返回上传进度给前端,以便前端更新进度条。
下面是一个简单的示例代码:
HTML部分:


   
   
    文件上传
   
   
   
   

   
        文件上传
        
            
                选择文件
               
            
            上传
        
        
            
               
            
        
        
   
   
   
   

JavaScript部分(main.js):

zbhjwr1ewmrtblv.jpg

zbhjwr1ewmrtblv.jpg


(图片来源网络,侵删)

$(document).ready(function () {
    // 监听文件上传事件
    $('#uploadForm').on('submit', function (e) {
        e.preventDefault(); // 阻止表单默认提交行为
        var formData = new FormData(this); // 获取表单数据
        $.ajax({
            url: 'upload_backup.php', // 服务器端处理文件上传的URL
            type: 'POST',
            data: formData,
            processData: false, // 告诉jQuery不要处理发送的数据
            contentType: false, // 告诉jQuery不要设置ContentType请求头
            beforeSend: function () {
                // 显示“正在上传备份文件”的提示信息和进度条初始状态
                $('#message').text('正在上传备份文件');
                $('#progressBar').css('width', '0%');
            },
            uploadProgress: function (event, position, total, percentComplete) {
                // 根据上传进度更新进度条宽度和百分比显示
                var progressPercentage = percentComplete + '%';
                $('#progressBar').css('width', progressPercentage);
                $('#progressBar').attr('ariavaluenow', progressPercentage);
                $('#message').text(progressPercentage + ' ' + position + ' / ' + total);
            },
            success: function (response) {
                // 上传成功,隐藏提示信息和进度条,显示成功信息或执行其他操作
                $('#message').text('备份文件上传成功');
                $('#progressBar').css('width', '0%');
            },
            error: function () {
                // 上传失败,隐藏提示信息和进度条,显示错误信息或执行其他操作
                $('#message').text('备份文件上传失败');
                $('#progressBar').css('width', '0%');
            }
        });
    });
});

下面是一个简单的HTML介绍示例,用于在备份过程中持续显示“正在上传备份文件”的状态,这里使用了一个简单的Ajax技术,比如jQuery的`$.ajax()`方法来模拟上传过程。
“`html
备份状态显示

  /* 简单的样式设计 */
  .statustable {
    width: 50%;
    margin: 0 auto;
    bordercollapse: collapse;
  }
  .statustable, .statustable th, .statustable td {
    border: 1px solid #ddd;
  }
  .statustable th, .statustable td {
    padding: 10px;
    textalign: center;
  }
  .loading {
    color: #007bff;
    animation: blink 1s infinite;
  }
  @keyframes blink {
    0% { opacity: 1; }
    50% { opacity: 0; }
    100% { opacity: 1; }
  }


文件名状态
backup.zip正在上传备份文件


“`
在这个介绍中,我们有一个包含文件名和状态的行,状态列有一个ID为`backupStatus`的单元格,通过CSS样式`.loading`设置了动画效果,使其看起来像是在加载中。
JavaScript函数`simulateUpload`模拟了一个10秒钟的上传过程,在实际应用中,你会在Ajax请求的回调函数中更新这个状态,例如在文件真正上传完成后。
请注意,示例中使用了jQuery和Ajax,你需要确保你的页面已经包括了jQuery库,在实际生产环境中,还需要处理网络错误、上传进度更新等更多的情况。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表