Page 147 - 6108
P. 147

Для відправки даних в форматі необхідно сформувати відповідний рядок
               роздільник. Рядок, який розділяє окремі поля починається з двох тире, а
               останній роздільник починається і завершується двома тире.
                     let boundary = 'aBoundaryString’;
                     let body = '\r\n--' + boundary + '\r\n';
                     // додаємо поля
                       body += 'Content-Disposition: form-data; name="' + name+
               '"\r\n\r\n' + (data) + '\r\n');
                     body += '--' + boundary + '\r\n';
                     ...
                     body += '--' + boundary + '--\r\n':
                     let xhr = new XMLHttpRequest();
                     xhr.open('POST', '/submit', true);
                     xhr.setRequestHeader('Content-Type', 'multipart/form-data;
               boundary=' + boundary);
                     xhr.send(body);
                     Можна створити запит, який сервер сприйме як завантаження файлу.
                     Щоб  додати  файл  потрібно  використовувати  той  же  код,  що  вище,
               модифікувавши заголовки перед полем, яке є файлом, так:


                     Content-Disposition: form-data; name="myfile";
               filename="pic.jpg"
                     Content-Type: image/jpeg
                     (пустая строка)
                     вміст файлу.
                     3.6.4 Крос-доменні запити

                     Зазвичай  запит  XMLHttpRequest  може  робити  запит  тільки  в  рамках
               поточного сайту. При спробі використовувати інший домен / порт / протокол –
               браузер видає помилку.
                     Існує  сучасний  стандарт  XMLHttpRequest,  він  ще  в  стані  чернетки,  але
               передбачає крос-доменні запити і багато іншого.
                     Крос-доменні запити проходять спеціальний контроль безпеки.
                                               10
                     Специфікація  CORS   накладає  спеціальні  обмеження  на  запити,  які
               покликані не допустити подібного апокаліпсису.
                     Запити в ній діляться на два види.

                     Простими вважаються запити, якщо вони задовольняють наступним двом
               умовам:
                     1) Простий метод: GET, POST або HEAD
                     2) Прості заголовки – тільки зі списку:
                     –  Accept
                     –  Accept-Language
                     –  Content-Language
                     –  Content-Type  зі  значенням                application           /    x-www-form-
               urlencoded, multipart / form-data або text / plain.


               10  Cross-Origin Resource Sharing (CORS) — специфікація технології браузерів,
               яка описує способи веб-сервісам надавати скриптам, що надходять з домену,

               який не відповідає політиці одного походження «пісочницю»
   142   143   144   145   146   147   148   149   150   151   152