"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मैं वेब ब्राउज़र में XMLHttpRequest के लिए प्रगति अपडेट कैसे ट्रैक कर सकता हूं?

मैं वेब ब्राउज़र में XMLHttpRequest के लिए प्रगति अपडेट कैसे ट्रैक कर सकता हूं?

2024-11-08 को प्रकाशित
ब्राउज़ करें:830

How can I track progress updates for XMLHttpRequest in web browsers?

XMLHttpRequest के लिए प्रगति अपडेट प्राप्त करना

वेब ब्राउज़र क्लाइंट-सर्वर डेटा एक्सचेंज के लिए XMLHttpRequest (XHR) ऑब्जेक्ट प्रदान करते हैं। जबकि मानक XHR API में अंतर्निहित प्रगति ट्रैकिंग क्षमताओं का अभाव है, डेटा स्थानांतरण की प्रगति की निगरानी करने के तरीके हैं।

बाइट्स अपलोड किए गए:

XHR xhr.upload को उजागर करता है। डेटा अपलोड की प्रगति की निगरानी के लिए ऑनप्रोग्रेस इवेंट। चूंकि ब्राउज़र कुल डेटा आकार और अपलोड की गई मात्रा दोनों को ट्रैक करता है, यह सटीक प्रगति जानकारी प्रदान कर सकता है।

डाउनलोड किए गए बाइट्स:

डाउनलोड प्रगति को ट्रैक करना अधिक चुनौतीपूर्ण है क्योंकि ब्राउज़र को सर्वर से भेजे जाने वाले डेटा के आकार का तब तक पता नहीं चलता जब तक वह नहीं आ जाता। एक समाधान सर्वर स्क्रिप्ट पर एक कंटेंट-लेंथ हेडर सेट करना है, जो भेजे जाने वाले डेटा के कुल आकार को दर्शाता है। इस हेडर के साथ, ब्राउज़र डाउनलोड प्रगति की सटीक निगरानी कर सकता है। प्रगति पट्टी प्रदर्शित करने के लिए:

function updateProgress(evt) { यदि (evt.lengthComputable) { //evt.loaded: बाइट्स प्राप्त हुए // evt.total: कुल बाइट्स (सामग्री-लंबाई शीर्षलेख से) var प्रतिशत पूर्ण = (evt.loaded / evt.total) * 100; $('#progressbar').progressbar('option', 'value', percentComplete); } } फ़ंक्शन प्रेषक(evt) { var req = new XMLHttpRequest(); $('#progressbar').progressbar(); req.onprogress = अद्यतन प्रगति; req.open('GET', 'test.php', true); req.onreadystatechange = फ़ंक्शन (aEvt) { यदि (req.readyState == 4) { // यहां प्रतिक्रिया संभालें } }; req.send(); }

सर्वर-साइड स्क्रिप्ट पर कंटेंट-लेंथ हेडर सेट करने से डेटा अपलोड करने और डाउनलोड करने दोनों के लिए सटीक प्रगति ट्रैकिंग सुनिश्चित होती है।

function updateProgress(evt) {
  if (evt.lengthComputable) {
    // evt.loaded: bytes received
    // evt.total: total bytes (from the Content-Length header)
    var percentComplete = (evt.loaded / evt.total) * 100;
    $('#progressbar').progressbar('option', 'value', percentComplete);
  }
}

function sendreq(evt) {
  var req = new XMLHttpRequest();
  $('#progressbar').progressbar();
  req.onprogress = updateProgress;
  req.open('GET', 'test.php', true);
  req.onreadystatechange = function (aEvt) {
    if (req.readyState == 4) {
      // Handle the response here
    }
  };
  req.send();
}

जबकि मानक XHR API में अंतर्निहित प्रगति ट्रैकिंग क्षमताओं का अभाव है, ऊपर वर्णित तकनीकें डेवलपर्स को वेब अनुप्रयोगों में डेटा स्थानांतरण की प्रगति की निगरानी करने की अनुमति देती हैं। उचित सामग्री-लंबाई हेडर सेट करके और जावास्क्रिप्ट ईवेंट हैंडलर का उपयोग करके, डेवलपर्स सहज और उपयोगकर्ता के अनुकूल इंटरफेस बना सकते हैं जो उपयोगकर्ताओं के लिए वास्तविक समय प्रगति अपडेट प्रदान करते हैं।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3