نمایش نتایج 1 تا 7 از 7

نام تاپیک: نمایش progress bar زمان کار با تابع XMLHttpRequest

  1. #1
    کاربر دائمی آواتار K.Mohammadreza
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    کرمان
    پست
    285

    Post نمایش progress bar زمان کار با تابع XMLHttpRequest

    باسلام من از تابع زیر برای ارتباط با webAPI و دریافت یک رشته JSON استفاده می کنم


    var getJSON = function(url, callback) {
    var xhr = new XMLHttpRequest();
    xhr.open('GET', url, true);
    xhr.responseType = 'json';

    xhr.onload = function() {
    var status = xhr.status;
    if (status === 200) {
    callback(null, xhr.response);
    } else {
    callback(status, xhr.response);
    }
    };
    xhr.send();
    };



    بدلیل اینکه تعداد فراخوانی تابع بالای 20.000 بار است. میخوام روند تکمیل عملیات در یک progress بار به کاربر نشان داده بشه چکار کنم؟ ممنون بابت راهنمایی

  2. #2
    کاربر دائمی آواتار K.Mohammadreza
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    کرمان
    پست
    285

    نقل قول: نمایش progress bar زمان کار با تابع XMLHttpRequest

    لطفا دوستانیکه اطلاع دارند راهنمایی کنن. ممنون

  3. #3
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: نمایش progress bar زمان کار با تابع XMLHttpRequest

    پروگرس باررو برای چی میخای نشون بدی ؟ برای 20 هزار تا ؟ یعنی اینکه پروگرس از اولین درخواست شروع بشه و با 20 هزارمین به 100% برسه ؟

  4. #4
    کاربر دائمی آواتار K.Mohammadreza
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    کرمان
    پست
    285

    نقل قول: نمایش progress bar زمان کار با تابع XMLHttpRequest

    بله دقیقا. همین کار را میخوام انجام بدم

  5. #5
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: نمایش progress bar زمان کار با تابع XMLHttpRequest

    یه شمارنده بزار که به ازای هر درخواست ایکس 1 دونه بهش اضافه بشه که بدونی در هر لحظه چند تا درخواست از 20 هزار تا ارسال شده
    بعد هر بار که یک عدد به این اضافه شد محاسبه میکنی که چند درصد از 20000 هستش اون عدد که فرمولش میشه

    (x/2000 ) * 100



    وقتی بدست آوردی عدد رو میتونی به کاربر نشون بدی که فلان درصد از پروسس طی شده که حالا یا میتونی به صورت عددی نشون بدی یا یک دیو بسازی و عرضش رو برابر با اون درصد بزاری که همون پروگرس بار بشه

    مثلا اگه 1000 تا اراسال شده باشه طبق فرمول

    (1000 / 20000) * 100  


    میشه 5 یعنی 5 درصد از 20 هزار تا ارسال شده بعد میتونی با js عرض یک div رو که از قبل تو صفحه آماده کردی برابر با 5% بزاری
    و این پروسه رو به ازای هردرخاستی که ارسال میشه تکرار کن تا به 100% برسه

  6. #6
    کاربر دائمی آواتار K.Mohammadreza
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    کرمان
    پست
    285

    نقل قول: نمایش progress bar زمان کار با تابع XMLHttpRequest

    ممنون.همین کار را کردم ولی درخواستها و شمارنده با هم sync نیستن. یعنی اول درخواستها ارسال میشن و در حین ارسال مثلا 500 تا درخواست شمارنده شروع به شمارش میکنه و هنگام callback چند تا از درخواستها هم در چندتا درخواست دیگه ارسال میشه و خلاصه خیلی بی نظم شمارنده عمل میکنه.(قبل از نمایش روی progress توی console بررسی کردم)

    با بررسی github و stackoverflow تونستم مشکل را حل کنم. ممنون

  7. #7
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: نمایش progress bar زمان کار با تابع XMLHttpRequest

    توی کال بک باید عدد رو افزایش بدی نه هنگام ارسال درخواست

تاپیک های مشابه

  1. فراخوان متد با xmlhttprequest
    نوشته شده توسط qazxsw در بخش طراحی وب (Web Design)
    پاسخ: 0
    آخرین پست: پنج شنبه 07 مرداد 1389, 00:04 صبح
  2. فراخوانی یک متد XMLHttpRequest در یک حلقه
    نوشته شده توسط nazaninam در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: پنج شنبه 24 بهمن 1387, 10:11 صبح
  3. ارسال فایل با xmlhttpRequest
    نوشته شده توسط MostafaAhmadi در بخش طراحی وب (Web Design)
    پاسخ: 11
    آخرین پست: دوشنبه 01 مهر 1387, 08:27 صبح
  4. مشکل با xmlHttpRequest
    نوشته شده توسط dr_csharp در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: چهارشنبه 05 دی 1386, 09:55 صبح
  5. XMLHttpRequest
    نوشته شده توسط dr_csharp در بخش طراحی وب (Web Design)
    پاسخ: 3
    آخرین پست: شنبه 01 دی 1386, 11:48 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •