2016-08-22 162 views
-1

下面是我正在使用的代碼片段。實際上,我加載的視頻大約爲1GB,因此當用戶有中等的互聯網連接時,ajax會在視頻完全加載之前超時。如何在javascript中設置ajax超時?

因此,我想重置ajax超時期限爲1天,以便它不會超時。

$(window).load(function(){ 
    console.log("Downloading video...hellip;Please wait..."); 
    var xhr = new XMLHttpRequest(); 
    xhr.open('GET', 'video/video.m4v', true); 
    xhr.responseType = 'blob'; 
    xhr.onload = function(e) { 
     if (this.status == 200) { 
     console.log("got it"); 
     var myBlob = this.response; 
     var vid = (window.webkitURL ? webkitURL : URL).createObjectURL(myBlob); 
     // myBlob is now the blob that the objec8t URL pointed to. 
     var video = document.getElementById("video"); 
     console.log("Loading video into element"); 
     video.src = vid; 
     // not needed if autoplay is set for the video element 
     // video.play() 
      //alert(1); 
      windowLoad(); 
      $('body').removeClass('loading'); 
     } 
    } 
xhr.send(); 
}); 

感謝

回答

1

您可以設置XMLHttpRequest.timeout

xhr.timeout = 86400000; // 1 day in milliseconds 

xhr.ontimeout = function (e) { 
    // XMLHttpRequest timed out. Do something here. 
};