久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

<tfoot id='kWmyf'></tfoot>

    <i id='kWmyf'><tr id='kWmyf'><dt id='kWmyf'><q id='kWmyf'><span id='kWmyf'><b id='kWmyf'><form id='kWmyf'><ins id='kWmyf'></ins><ul id='kWmyf'></ul><sub id='kWmyf'></sub></form><legend id='kWmyf'></legend><bdo id='kWmyf'><pre id='kWmyf'><center id='kWmyf'></center></pre></bdo></b><th id='kWmyf'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='kWmyf'><tfoot id='kWmyf'></tfoot><dl id='kWmyf'><fieldset id='kWmyf'></fieldset></dl></div>

    <small id='kWmyf'></small><noframes id='kWmyf'>

      <legend id='kWmyf'><style id='kWmyf'><dir id='kWmyf'><q id='kWmyf'></q></dir></style></legend>
      • <bdo id='kWmyf'></bdo><ul id='kWmyf'></ul>

    1. 具有完成階段的多個 ajax 請求的進(jìn)度條.是否可以

      Progress bar for multiple ajax requests with stages of completion. Is it possible?(具有完成階段的多個 ajax 請求的進(jìn)度條.是否可以?)

        <bdo id='y33iy'></bdo><ul id='y33iy'></ul>

          1. <small id='y33iy'></small><noframes id='y33iy'>

          2. <tfoot id='y33iy'></tfoot>

              <tbody id='y33iy'></tbody>
            <legend id='y33iy'><style id='y33iy'><dir id='y33iy'><q id='y33iy'></q></dir></style></legend>
                <i id='y33iy'><tr id='y33iy'><dt id='y33iy'><q id='y33iy'><span id='y33iy'><b id='y33iy'><form id='y33iy'><ins id='y33iy'></ins><ul id='y33iy'></ul><sub id='y33iy'></sub></form><legend id='y33iy'></legend><bdo id='y33iy'><pre id='y33iy'><center id='y33iy'></center></pre></bdo></b><th id='y33iy'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='y33iy'><tfoot id='y33iy'></tfoot><dl id='y33iy'><fieldset id='y33iy'></fieldset></dl></div>
                本文介紹了具有完成階段的多個 ajax 請求的進(jìn)度條.是否可以?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

                問題描述

                我有一個簡單的表單,提交時通過 ajax 請求進(jìn)行驗證.如果表單檢查正常,則發(fā)出另一個 ajax 請求來處理最初提交的數(shù)據(jù).

                I have a simple form which when submitted validates via an ajax request. If the form checks out ok, then another ajax request is made to process the data originally submitted.

                我想為此建立一個進(jìn)度條.我發(fā)現(xiàn)將此代碼添加到每個 ajax 請求會分別返回每個調(diào)用的進(jìn)度.這使得進(jìn)度條加載到 100%,兩次,很快.

                I want to build a progress bar for this. Ive found that adding this code to each ajax request returns the progress for each call separately. That makes the progress bar load to 100%, twice, quickly.

                是否有可能例如兩個 ajax 請求每個填充進(jìn)度條的 50%?...所以 ajax 請求 1 將填充到 50%,第二個將從 51% 填充到 100%?還是瘋了?

                Is it possible for example for two ajax request to each fill 50% of the progress bar?... So ajax request 1 will fill up to 50% and the second will fill from 51% to 100%? Or is that crazy?

                或者如果三個 ajax 調(diào)用各占總百分比的 33.33%?

                Or if three ajax calls each being responsible for 33.33% of the total percentage?

                我想我們更多地關(guān)注完成的階段以及進(jìn)度.

                I guess we are more looking at stages of completion as well as progress.

                有什么想法可以在不過多偽裝的情況下實現(xiàn)這一點嗎?

                Any ideas how this could be achieved without too much faking it?

                var xhr = new window.XMLHttpRequest();
                //Upload progress
                xhr.upload.addEventListener("progress", function (evt) {
                    if (evt.lengthComputable) {
                        var percentComplete = evt.loaded / evt.total;
                        //Do something with upload progress
                        console.log('percent uploaded: ' + (percentComplete * 100));
                    }
                }, false);
                //Download progress
                xhr.addEventListener("progress", function (evt) {
                    if (evt.lengthComputable) {
                        var percentComplete = evt.loaded / evt.total;
                        //Do something with download progress
                        console.log('percent downloaded: ' + (percentComplete * 100));
                    }
                }, false);
                return xhr;
                

                推薦答案

                是的,有可能.您可以創(chuàng)建一個包含每個 ajax 調(diào)用的數(shù)組.將 元素 max 屬性設(shè)置為 100/array.length.將單個 progress 事件的 evt.loaded/evt.total 除以數(shù)組 .length 以設(shè)置 value><progress> 元素.您還可以使用 Promise.all().then() 來處理從 ajax 調(diào)用返回 Promise 的函數(shù)數(shù)組并更新 <progress> 元素.

                Yes, it is possible. You can create an array containing each ajax call. Set <progress> element max attribute to 100/array.length. Divide evt.loaded / evt.total of individual progress event by array .length to set value of <progress> element. You could also use Promise.all(), .then() to process array of functions returning a Promise from ajax call and update <progress> element.

                html

                <label></label>
                <progress value="0" min="0" max="100"></progress>
                

                javascript

                var progress = document.querySelector("progress");
                var url = "/echo/html/";
                
                function request(url) {
                var len = arr.length;
                return new Promise(function(resolve, reject) {
                  var xhr = new XMLHttpRequest();
                  xhr.upload.addEventListener("progress", function(evt) {
                    if (evt.lengthComputable) {   
                      var percentComplete = ((evt.loaded / evt.total) * (progress.max / len)) 
                                            / len;
                      progress.value += percentComplete;
                      console.log(progress.value, percentComplete);
                      if (evt.total === evt.loaded) {
                        requests += 1;
                      }
                      if (progress.value == progress.max && requests === len) {
                        progress.previousElementSibling.innerHTML = "upload complete";
                        // you could call `resolve()` here if only interested in
                        // `upload` portion of request
                        alert("upload complete");
                      }
                    }
                  }, false);
                  xhr.onload = function() {
                     resolve(this.responseText)
                  };
                  xhr.onerror = reject;
                  xhr.open("POST", url, true)
                  xhr.send("html=" + Array(100000).fill(1).join(""));
                  })
                }
                
                var arr = [], requests = 0;
                arr.push(request, request, request);
                Promise.all(arr.map(function(req) {
                  return req(url)
                }))
                .then(function(data) {
                  console.log(data);    
                })
                .catch(function(err) {
                  console.log(err)
                })
                

                jsfiddle https://jsfiddle.net/v2msL7hj/3/

                這篇關(guān)于具有完成階段的多個 ajax 請求的進(jìn)度條.是否可以?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

                【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

                相關(guān)文檔推薦

                Browser waits for ajax call to complete even after abort has been called (jQuery)(即使在調(diào)用 abort (jQuery) 之后,瀏覽器也會等待 ajax 調(diào)用完成)
                JavaScript innerHTML is not working for IE?(JavaScript innerHTML 不適用于 IE?)
                XMLHttpRequest cannot load, No #39;Access-Control-Allow-Origin#39; header is present on the requested resource(XMLHttpRequest 無法加載,請求的資源上不存在“Access-Control-Allow-Origin標(biāo)頭) - IT屋-程序員軟件開發(fā)技術(shù)分
                Is it possible for XHR HEAD requests to not follow redirects (301 302)(XHR HEAD 請求是否有可能不遵循重定向 (301 302))
                NETWORK_ERROR: XMLHttpRequest Exception 101(NETWORK_ERROR:XMLHttpRequest 異常 101)
                XMLHttpRequest 206 Partial Content(XMLHttpRequest 206 部分內(nèi)容)

                        <tbody id='j5PTn'></tbody>

                      <small id='j5PTn'></small><noframes id='j5PTn'>

                        <bdo id='j5PTn'></bdo><ul id='j5PTn'></ul>
                      • <legend id='j5PTn'><style id='j5PTn'><dir id='j5PTn'><q id='j5PTn'></q></dir></style></legend>
                          <tfoot id='j5PTn'></tfoot>
                          <i id='j5PTn'><tr id='j5PTn'><dt id='j5PTn'><q id='j5PTn'><span id='j5PTn'><b id='j5PTn'><form id='j5PTn'><ins id='j5PTn'></ins><ul id='j5PTn'></ul><sub id='j5PTn'></sub></form><legend id='j5PTn'></legend><bdo id='j5PTn'><pre id='j5PTn'><center id='j5PTn'></center></pre></bdo></b><th id='j5PTn'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='j5PTn'><tfoot id='j5PTn'></tfoot><dl id='j5PTn'><fieldset id='j5PTn'></fieldset></dl></div>
                          主站蜘蛛池模板: 超碰在线97国产 | 国产激情精品一区二区三区 | 亚洲成人免费视频在线观看 | 中文字幕免费在线 | 国产wwwcom| 日韩久久精品视频 | 毛片一级黄色 | 高清国产一区二区 | 国产精品久久久久久影视 | 欧美精品99 | 91精品国产91久久久久久吃药 | www.中文字幕.com | 国产乱码精品一区二区三区av | 亚洲一区综合 | 欧美一级在线视频 | 欧美亚洲视频在线观看 | 中文av网站 | 久久精品亚洲国产奇米99 | 91大神在线资源观看无广告 | 一级毛片视频在线 | 一区二区三区四区在线视频 | 亚洲国产成人久久综合一区,久久久国产99 | 精品乱码一区二区三四区视频 | 国产精品久久精品 | av电影一区 | 免费看黄色视屏 | 欧美日韩一区在线 | 午夜在线视频 | 日韩在线一区二区 | 黄色片免费在线观看 | 久久天天躁狠狠躁夜夜躁2014 | 国产成人精品免费视频大全最热 | 久久av一区二区三区 | 青青草在线视频免费观看 | 天堂av中文在线 | 欧美日韩亚洲视频 | 亚洲国产午夜 | 性做久久久久久免费观看欧美 | 在线免费观看黄色av | 日韩在线观看网站 | 国产精品久久久久久久 |