Advertisement
Guest User

Untitled

a guest
Mar 30th, 2020
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. document.addEventListener('DOMContentLoaded', function(){
  2.             let checkboxes = document.getElementsByClassName('targetDir');
  3.  
  4.             for (checkbox of checkboxes) {
  5.                 checkbox.addEventListener('change', (event) => {
  6.                     let file = event.target.dataset.file
  7.                     let targetDir = event.target.dataset.target
  8.                     let act = '';
  9.                     if (event.target.checked) {
  10.                         act = 'copy';
  11.                     } else {
  12.                         act = 'del';
  13.                     }
  14.  
  15.                     sendAjax(file, targetDir, act, 'SERVER_log.php');
  16.  
  17.                 });
  18.             }
  19.         });
  20.  
  21.         function sendAjax(file, targetDir, act, URL) {
  22.             // 1. Создаём новый XMLHttpRequest-объект
  23.             let xhr = new XMLHttpRequest();
  24.  
  25.             let ajaxData = JSON.stringify({
  26.                 file: file,
  27.                 targetDir: targetDir,
  28.                 act: act
  29.             });
  30.  
  31.             // 2. Настраиваем его: POST-запрос
  32.             xhr.open('POST', URL);
  33.  
  34.             xhr.setRequestHeader('Content-type', 'application/json; charset=utf-8');
  35.  
  36.             // 3. Отсылаем запрос
  37.             xhr.send(ajaxData);
  38.  
  39.             // 4. Этот код сработает после того, как мы получим ответ сервера
  40.             xhr.onload = function() {
  41.               if (xhr.status != 200) { // анализируем HTTP-статус ответа, если статус не 200, то произошла ошибка
  42.                 console.log(`Ошибка ${xhr.status}: ${xhr.statusText}`); // Например, 404: Not Found
  43.               } else { // если всё прошло гладко, выводим результат
  44.                 console.log(`Готово, получили ${xhr.response.length} байт`); // response -- это ответ сервера
  45.                 console.log(xhr.response);         
  46.               }
  47.             };
  48.  
  49.             xhr.onprogress = function(event) {
  50.               if (event.lengthComputable) {
  51.                 console.log(`Получено ${event.loaded} из ${event.total} байт`);
  52.               } else {
  53.                 console.log(`Получено ${event.loaded} байт`); // если в ответе нет заголовка Content-Length
  54.               }
  55.  
  56.             };
  57.  
  58.             xhr.onerror = function() {
  59.               console.log("Запрос не удался");
  60.             };
  61.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement