Легкий плагин jQuery, который добавляет поддержку progress и обещаний uploadProgress в $.ajax().
npm install jq-ajax-progress
git clone [email protected]:likerRr/jq-ajax-progress.git
Включите src/jq-ajax-progress.min.js в свой html после сценария jQuery .
$ . ajax ( url , {
progress : function ( e ) {
// track downloading
} ,
uploadProgress : function ( e ) {
// track uploading
// if (e.lengthComputable) {
// var completedPercentage = Math.round((e.loaded * 100) / e.total);
// console.log(completedPercentage);
//}
}
} ) Когда вам нужно отправить клиенту фрагментированные данные, в некоторых случаях было бы полезно отслеживать, какая часть только что получена. Для этих целей используйте логический параметр chunking (по умолчанию false ). Если для него установлено значение true , то второй параметр в функции обратного вызова будет частью фрагмента.
По умолчанию все фрагментированные ответы содержат уже полученные текстовые ответы, и вам придется вырезать их вручную, если вам нужно что-то сделать с частями. Один из возможных случаев, когда вы отправляете большой текстовый или мультимедийный ответ с сервера клиенту и не хотите, чтобы ваш клиент ждал полного ответа.
Имейте в виду, что «под капотом» весь ответ обрезается от начала (от нулевого индекса) до появления последней части, поэтому большой объем данных (теоретически) может вызвать проблемы с производительностью. Но... просто имейте в виду :)
$ . ajax ( url , {
chunking : true ,
progress : function ( e , part ) {
console . log ( part ) ;
}
} ) ;Установить узел
Запустите npm install && npm run build
Это минимизирует библиотеку и поместит ее в папку src .