javascript - 中断ajax函数会阻止它完成吗?

标签 javascript php jquery ajax ffmpeg

我想做的是使用 ffmpeg 转换视频,通过向服务器发送 ajax 请求需要很长时间才能完成,但不会让用户等到视频转换完成。

如果用户在发送请求后刷新页面,会停止函数表单的完成吗? 这是一个好方法还是我应该为视频转换建立一个队列?

最佳答案

您可以使用以下结构;

  • 当用户开始视频转换时,通过ajax向后端发送请求进行转换
  • 发送请求时,您可以在服务器端设置 Cookie(也可以在浏览器上读取)。
  • 发送请求后,您可以显示处理栏。
  • 当用户刷新页面时,您将检查 Cookie 值是否启动了任何视频转换。如果存在,则可以继续再次显示进度条。
  • 当转换完成后,您可以将cookie值设置为done,并通过ajax检查调用将转换状态告知用户。

我假设您在特定时间间隔内进行 ajax 调用来获取转换状态。如果不使用ajax poll ,您可以使用websockets将结果发送回浏览器客户端。 Cookie值是可以被客户端修改的,所以最好对Cookie值进行加密,或者将视频转换页面转换为限制页面。如果视频转换页面仅限注册用户,您可以在 db 中设置转换状态而不是 cookie。

关于javascript - 中断ajax函数会阻止它完成吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22892929/

相关文章:

javascript - 具有多个值的 Mongo $addToSet 语法正确

javascript - Angular/TypeScript 使用动态键创建对象

php - WooCommerce-如何从网址中删除产品和产品类别?

javascript - 当鼠标离开元素时,CSS 过渡过早结束

javascript - jquery mobile,图像周围有一个小黑色边框

jquery - 平滑从静态定位到粘性 header 固定定位的过渡?

javascript - d3 旭日图选择旋转不起作用

javascript - 使用 Typescript 进行接口(interface)类型检查

php - Zend 框架数据访问层 (DAL)

php - ob_start 和 ob_gzhandler 函数到底做了什么