长话短说
得到执行 5 个 ajax 步骤的 javascript 代码。
第二步和第三步涉及文件上传。有进度条。
不确定如何在 5 个步骤中逐步更新进度条。
很长的故事
该演示位于http://ajaxprogressbar.cloudcontrolled.com/ajaxprogress.html
要执行它,请按“运行进度条”按钮
代码在github上可用
基本上,ajax 过程有 5 个步骤。
step1、4、5分别向step1.php、step4.php、step5.php发送数据。
step2 和 step3 是 ajax 文件上传步骤。
顺序应该是:
- 只有在第 1 步完成后,才能同时执行第 2 步和第 3 步。
- 步骤 4 只能在步骤 2 之后执行。
- 步骤 5 只能在前面的所有步骤都成功后执行。
- 如果在任何步骤中出现任何错误,则应停止该过程。
我想要完成的
- 只有在第 1 步完成后,才能同时执行第 2 步和第 3 步。(完毕)
- 步骤 4 只能在步骤 2 之后执行。(完成)
- 步骤 5 只能在前面的所有步骤都成功后执行。
- 如果在任何步骤中出现任何错误,则应停止该过程。
- 每一步后更新进度条 20% (完成)
- 在第 2 步和第 3 步期间,一次更新进度条 1%。(完成)见此
- 重构executeProcess以使用Q.js而不是jquery
请注意,那些标记(完成)已完成。请在此处查看演示。
我尝试并得到的结果
- 我之前为 R6 提出过上诉,我终于在这里找到了
我需要的
我想在不破坏其他任何东西的情况下完成 R3、R4、 R6和 R7。
R6 是最重要的。
R3 现在是最重要的。
常见问题
- 这是您的完整应用程序吗?
不。我做了一个简化的测试用例,我去掉了尽可能多的不必要的代码来解释我的问题,而不会影响问题陈述。
因此,似乎缺少一些逻辑。但请放心作为演示,没有错误。我已经测试过了。
sleep(5)
我还通过输入fileupload.php来模拟文件上传的时间延迟
如果我在这里或其他地方找到解决方案我会怎么做
我会将解决方案作为演示工作并将其放到网上。
这也是为了帮助其他人从我的问题中学习。