Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
4.8k views
in Technique[技术] by (71.8m points)

javascript - How do I get the content-length header for jQuery AJAX POST success object?

I have a jQuery AJAX call that appends a URL's page into a selector. I want to monitor the progress of the page being appended:

$.ajax({
        
    url: URL,
    type: 'POST',
    data: {
        page: 'page'
    },
    dataType: 'HTML',
    async: true,
    cache: false,
    xhr: 
    function() {
    
        var XHR = new window.XMLHttpRequest();
        
        XHR.upload.addEventListener('loadstart', HandleXHR); // Upload has begun
        XHR.upload.addEventListener('progress', HandleXHR); // Periodically indicates the amount of progress made so far
        XHR.upload.addEventListener('error', HandleXHR); // Upload failed due to an error
        XHR.upload.addEventListener('abort', HandleXHR); // Upload operation was aborted
        XHR.upload.addEventListener('load', HandleXHR); // Upload completed successfully
        XHR.upload.addEventListener('loadend', HandleXHR); // Upload finished
    
        function HandleXHR(event) {
            
            if(event.lengthComputable) {
                
                PercentProgress = Math.floor((event.loaded / event.total) * 100);
        
                console.log(PercentProgress); // Returns 'Content-Length' header of data object (above)
        
            }
        
        }
        
        return XHR;
    
    },
    success: 
    function(data) {

        console.log(data.length); // Returns more accurate number (probably what I want)
            
        $('.selector').html(data);
        
    }
                
});

How do I compute the correct header Content-Length information in the XHR object to show the progress status of the AJAX call success object as apposed to the header Content-Length of the data object [that I'm already getting]?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
等待大神解答

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...