Материал из Module developer
Перейти к: навигация, поиск

SubDevice.SendEx

Метод можно использовать только с драйверами AV & Custom Systems (HTTP). Позволяет отправить оборудованию массив данных с указанием на родительский объект (контекст исполнения). Внутри SendEx можно добавить ряд событий, передающих в фукнции данные о своей работе. События позволяют следить за получением данных от НТТР сервера и обрабатывать различые этапы работы с сервером.

Синтаксис

SubDevice.SendEx(Data, Object)

Название Пример Описание
Data [a, b, c] type: array
массив данных для отправки
Object this type: Object
объект родитель
На выходе

-


Пример

var l_oDevice = module.GetDevice("Server REST"); //Получаем устройство
var l_oSubDevice = module.AddSubDevice("SubDevice 1", l_oDevice); //создаем подустройство 
l_oSubDevice.SendEx({ 
      Type: "POST",        															
      Url:  "/html/login",
      Data: ["Password=2007&name=authform&Login=admin"],
      Headers: {"Content-Type": "application/x-www-form-urlencoded"},       
      cbReceiveText:       function(text, code, headers)    {IR.Log("cbReceiveText "+text+code+headers);},
      cbReceiveData:       function(text, code, headers)    {IR.Log("cbReceiveData "+text+code+headers);},
      cbReceiveCode:       function(code)                   {IR.Log("cbReceiveCode "+code);},
      cbReceiveKey:        function(key,value)              {IR.Log("cbReceiveKey "+key+value);},
      cbReceiveStartBody:  function(stream)                 {IR.Log("cbReceiveStartBody "+stream);},
      cbReceivePartBody:   function(stream)                 {IR.Log("cbReceivePartBody "+stream);},
      cbReceiveEndBody:    function(size)                   {IR.Log("cbReceiveEndBody "+size);}, 
      cbTimeOut:           function()                       {IR.Log("cbTimeOut");},
      cbReceiveStream:     function(stream, code, headers)  {IR.Log("cbReceiveStream "+stream+code+headers);}   
   });
l_oSubDevice.SendEx({ 
      Type: "GET",        															
      Url:  "/json/ok/server/channel",
      Headers: {"Cookie":"ir-session-id=o8lKdEvw2ZlU"},
      cbReceiveText:   function(text, code, headers)    {IR.Log("cbReceiveText "+text);}
   });