Page 145 - 6108
P. 145

Метод  getAllResponseHeaders()  –  повертає  всі  заголовки  відповіді,
               крім  Set-Cookie  і  Set-Cookie2.  Заголовки  повертаються  у  вигляді  єдиної
               рядки, наприклад:

                     date: Thu, 18 Jan 2018 06:49:42 GMT
                     etag: W/"11-ZX6Es82fjw2ukpTAI31TeQRigE0"
                     connection: keep-alive
                     x-powered-by: Express
                     content-length: 17
                     content-type: text/html; charset=utf-8

                     Окремі заголовки розділені двома символами переводу рядки  "\r  \  n" (не
               залежить від ОС), значення заголовка відокремлено від його назви двокрапкою
               з  пробілом  ":  ".  Цей  формат  заданий  стандартом.  Таким  чином,  якщо  треба
               отримати об'єкт з парами заголовок-значення, то цей рядок необхідно розбити і
               обробити.
                     Повний список подій
                     Сучасна специфікація передбачає наступні події по ходу обробки запиту:
                     –  loadstart – запит розпочато.
                     –  progress  –  браузер  отримав  черговий  пакет  даних,  можна  прочитати
               поточні отримані дані responseText.
                     –  abort – запит був скасований викликом xhr.abort().
                     –  error – сталася помилка.
                     –  load – запит був успішно (без помилок) завершений.
                     –  timeout – запит був припинений через таймаут.
                     –  loadend – запит був завершений (успішно чи неуспішно)

                     Використовуючи ці події можна більш зручно відстежувати завантаження
               (onload)  і  помилку  (onerror),  а  також  кількість  завантажених  даних
               (onprogress).

                     if (xhr.status! = 200) {//Якщо код відповіді сервера не 200,
               то це // помилка
                         alert(xhr.status + ':' + xhr.statusText); // обробка
               помилки
                     } else {
                       alert (xhr.responseText); //обробка результату
                     }
                     3.6.3 Робота з формами

                     Під  час  звичайної  відправки  форми  <form>  браузер  збирає  значення  її
               полів, робить з них рядок і становить тіло GET/POST-запиту для відправки на
               сервер.  При  відправці  даних  через  XMLHttpRequest,  це  потрібно  робити
               самостійно, в JS-коді
                     GET-запит
                     Формуючи XMLHttpRequest, слід формувати запит вручну, кодуючи поля

               функцією encodeURIComponent().
                     let xhr = new XMLHttpRequest ();
                     let params = 'name =' + encodeURIComponent (name) +
                       '&Surname =' + encodeURIComponent (surname);
                     xhr.open ( "GET", '/ submit?' + params);
   140   141   142   143   144   145   146   147   148   149   150