Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- document.addEventListener('DOMContentLoaded', function(){
- let checkboxes = document.getElementsByClassName('targetDir');
- for (checkbox of checkboxes) {
- checkbox.addEventListener('change', (event) => {
- let file = event.target.dataset.file
- let targetDir = event.target.dataset.target
- let act = '';
- if (event.target.checked) {
- act = 'copy';
- } else {
- act = 'del';
- }
- sendAjax(file, targetDir, act, 'SERVER_log.php');
- });
- }
- });
- function sendAjax(file, targetDir, act, URL) {
- // 1. Создаём новый XMLHttpRequest-объект
- let xhr = new XMLHttpRequest();
- let ajaxData = JSON.stringify({
- file: file,
- targetDir: targetDir,
- act: act
- });
- // 2. Настраиваем его: POST-запрос
- xhr.open('POST', URL);
- xhr.setRequestHeader('Content-type', 'application/json; charset=utf-8');
- // 3. Отсылаем запрос
- xhr.send(ajaxData);
- // 4. Этот код сработает после того, как мы получим ответ сервера
- xhr.onload = function() {
- if (xhr.status != 200) { // анализируем HTTP-статус ответа, если статус не 200, то произошла ошибка
- console.log(`Ошибка ${xhr.status}: ${xhr.statusText}`); // Например, 404: Not Found
- } else { // если всё прошло гладко, выводим результат
- console.log(`Готово, получили ${xhr.response.length} байт`); // response -- это ответ сервера
- console.log(xhr.response);
- }
- };
- xhr.onprogress = function(event) {
- if (event.lengthComputable) {
- console.log(`Получено ${event.loaded} из ${event.total} байт`);
- } else {
- console.log(`Получено ${event.loaded} байт`); // если в ответе нет заголовка Content-Length
- }
- };
- xhr.onerror = function() {
- console.log("Запрос не удался");
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement