Page 306 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 306

точке (endpoint) Ajax (особой службе, которая может использоваться в других служ­
       бах или приложениях). Создайте файл aj axServer . j  .
                                                       s
                            '
                               p
       const  http  =  require (  h tt ' ) ;
       const  server  =  http . createServer ( function ( r eq,  res )    {
           res . setHeader ( ' Content-Type ' ,    ' a pplication/j son ' ) ;
                            e
                         '
           res . setHeader (  A cc s s -Control-Allow-Origin ' ,  ' *  ' )  ;
           res . e n ( J SON . stringify ( {
                 d
               platform :  process  . platform,
               nodeVersion :  process . v ersion,
               uptime :  Ma h . round ( p rocess . u ptime ( ) ) ,
                        t
           }  )   ) ;
       }  )   ;
       const  port  =  7 0 7 0 ;
       server . listen (port,  function  )    {
                                  (
           console . l og ( ' A j a x  server  started  on  port  $  { por } ' ) ;
                                                       t
       }  ) ;
          Это  код  очень  простого  сервера,  который  сообщает свою  платформу ("linux",
       "darwin'; "win32" и т.д.), версию Node . j s и продолжительность непрерывной работы
       сервера.

                  Благодаря Ajax создается брешь в системе безопасности сайта, назы­
                  ваемая кросс-доменными запросами (Cross-Origin Resource Sharing -
                                                                   c
                  CORS).  В  этом  примере мы добавляем заголовок Ac e s s - C ontrol­
                  Allow-Origin со значением *, который уведомляет клиента (браузер)
                  о том, что не нужно предотвращать вызов из соображений безопас-
                  ности. На реальном сервере обычно используется тот же самый про­
                  токол, домен и  порт (который разрешен по умолчанию), либо явно
                  указывается, какой протокол, домен и порт может обращаться к ко­
                  нечной точке. Т е м не менее в демонстрационных целях, лучше всего
                  отключить CORS.

          Для запуска этого сервера достаточно выполнить команду
       $  baЬel-node  ajaxServer . j s
          Загрузив страницу http :  / localh s t :  0 7 0   в браузер, вы увидите вывод сервера.
                                             7
                                         o
                                 /
       Теперь, когда имеется сервер, добавим код Ajax в наш пример НТМL-страницы (вы
       можете использовать ту же страницу, что и ранее в этой главе). Для начала добавим
       где-нибудь в теле документа элемент, в котором будет отображаться информация.
       <div  class=" serverlnfo" >
           Сервер  н а   платформе  <span  data-replace="platform" > ? ? ?</span> ,
           версия  Node  <span  data-replace="nodeVersio " > ? ? ?</span> .  Время
                                                   n

                                                                        Ajax     309
   301   302   303   304   305   306   307   308   309   310   311