【发布时间】:2022-01-21 16:42:05
【问题描述】:
我有一个允许用户上传和处理特定文件的网页。用户上传一些文件后,单击“处理”按钮后,将向后端服务发送 ajax 调用。在 beforeSend 函数中,有一个覆盖应用于屏幕并显示一个微调器。当成功功能被触发时,覆盖层被移除,并显示一个 toast 通知,如“文件已处理!” 我的目标是根据后端服务中的特定检查点以某种方式显示每个文件的进度状态。 假设后端服务在调用时执行以下任务:解析文件,映射到特定格式,将数据发送到数据库 A....,最后它发回 http 状态 200 和类似 JSON
{
"status":"Success",
"message": "File X was processed"
}
现在我想要的是,在触发成功事件之前,不只是获取覆盖并禁用整个页面,而是根据后端到达的确切步骤为每个文件更新一个进度条。
例如,对于文件 A,我希望看到以下转换:5% 解析文件,10% 映射文件...90% 将数据发送到数据库,100% 已处理。
这是否可以实现?
【问题讨论】:
-
是的。只需将状态存储在后端的某个位置
-
好吧,你的意思是在数据库或其他东西中,我假设用于查询状态的函数应该在 beforeSend 函数中调用,对吧?只需将其设置为调用后端,直到状态为“已处理”?
标签: javascript jquery frontend