【问题标题】:Does interrupting ajax function stop it from being completed?中断 ajax 函数是否会阻止它完成?
【发布时间】:2014-05-18 13:05:46
【问题描述】:

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

如果用户在发送请求后刷新页面会停止功能表单完成吗? 这是一个好方法还是我应该排队进行视频转换?

【问题讨论】:

  • if the user refresh the page after the request is sent dose that stop the function form completing 这会导致用户中止,如果您的服务器不忽略用户中止,那么是的,(php)函数将停止
  • 谢谢,我认为我的服务器忽略了用户中止,我必须检查一下。如果是忽略就没有问题吧?

标签: javascript php jquery ajax ffmpeg


【解决方案1】:

您可以使用以下结构;

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多