首页 > 解决方案 > jquery ajax请求中方法abort()的对立面是什么?

问题描述

我正在尝试建立一个类似于 youtube 的视频共享网站。因此,当您在 youtube 上上传视频时,它会在 95% 处停止,然后您必须填写所需的输入字段。

我如何能够停止 ajax 请求然后继续它?如果用户填写标题和描述然后点击按钮上传,ajax请求将继续

到目前为止,这是我的 ajax 代码:

var formData = new FormData();
var video = $(this).prop('files')[0];
formData.append('video', video);
$.ajax({
    url: "ajax/upload.php",
    type: "POST",
    xhr: function() {
        var xhr = new window.XMLHttpRequest();
        xhr.upload.addEventListener("progress", function(evt) {
            if (evt.lengthComputable) {
                var percentComplete = evt.loaded / evt.total;

                $('.video_progress_bar').css('width',`${Math.round(percentComplete * 100)}%`);
                $('.video_progress_bar').text(`${Math.round(percentComplete * 100)}%`);

                if($('.video_progress_bar').text() == '100%'){
                    $('.video_progress_bar').text("Video Uploaded");
                }
            }
       }, false);

       return xhr;
   },
    data: formData,
    contentType: false,
    processData: false
});

我尝试将 ajax 设置为变量并使用 abort 方法,但是一旦用户填写了所需的输入字段,我将如何让请求继续?

顺便说this一下文件输入的变化,我没有包括它,因为它与问题没有相关性

任何帮助,将不胜感激!

谢谢!

标签: javascriptjqueryajax

解决方案


实际上没有办法暂停 AJAX 请求。一旦它在那里,你能做的最好的就是中止告诉应用程序停止关心请求的进度/响应。

HTML5 文件 API怎么样?

resumable.js也可能会有所帮助。


推荐阅读