Page 144 - 6108
P. 144

console.log(this.responseText);
                     }

                     var xhr = new XMLHttpRequest();
                     xhr.addEventListener("load", reqListener);
                     xhr.open("GET", "http://localhost:8080/hello.txt");
                     xhr.send();
                     Відповідь сервера: status, statusText, responseText
                     status – HTTP-код відповіді: 200, 404, 403 і так далі. Може бути також

               бути рівним 0, якщо сервер не відповів або при запиті на інший домен.
                     statusText  –  текстовий  опис  статусу  від  сервера:  OK,  Not  Found,
               Forbidden і так далі.
                     responseText – текст відповіді сервера.
                     Є  і  ще  одна  властивість,  яке  використовується  набагато  рідше,
               responseXML
                     Якщо  сервер  повернув  XML,  забезпечивши  його  правильним  заголовком
               Content-type:  text/xml,  то  браузер  створить  з  нього  XML-документ.  По
               ньому                 можна                  буде                робити                 запити
               xhr.responseXml.querySelector("...") та інші.
                     Воно використовується рідко, так як зазвичай використовують не XML, а
               JSON. Тобто, сервер повертає JSON у вигляді тексту, який браузер перетворює
               в об'єкт викликом JSON.parse(xhr.responseText).


                     Подія readystatechange
                     Подія readystatechange відбувається кілька разів в процесі відсилання
               та отримання відповіді. При цьому можна подивитися «поточний стан запиту»
               у властивості xhr.readyState.
                     Всі стану readyState, згідно специфікації:

                     –  UNSENT = 0; // початковий стан
                     –  OPENED = 1; // викликаний open
                     –  HEADERS_RECEIVED = 2; // отримані заголовки
                     –  LOADING = 3; // завантажується тіло (отриманий черговий пакет даних)
                     –  DONE = 4; // запит завершений
                     Запит  проходить  їх  в  порядку  0  →  1  →  2  →  3  →  ...  →  3  →  4,  стан  3
               повторюється при кожному отриманні чергового пакета даних по мережі.

                     3.6.2 HTTP-заголовки

                     XMLHttpRequest  вміє  як  вказувати  свої  заголовки  в  запиті,  так  і  читати
               надіслані у відповідь.
                     Метод  getResponseHeader  (name)  –  повертає  значення  заголовка    name
               відповіді, крім Set-Cookie і Set-Cookie2.
                     xhr.getResponseHeader ( 'Content-Type');
                     "text/html; charset=utf-8"
   139   140   141   142   143   144   145   146   147   148   149