Легкий плагин 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
.