Передача данных с сервера на клиент

694
19 мая 2017, 16:23

Есть такая переменная на клиенте:

 var sprite_param = function() {
    this.size = 14;
    this.speed = 1;
    this.amount = 1;
}

И такая переменная в файле server.js для node.js :

     var controlPanelParametrs = {
        "size" : size.param,
        "speed" : speed.param
     } 

Как передать данные с сервера на клиент, чтобы получилось что-то вроде :

var sprite_param = function() {
    this.size = controlPanelParametrs.size;
    this.speed = controlPanelParametrs.speed;
    this.amount = 1;
}

Не используя socket.io!

Answer 1

Как часто надо получать эту переменную? Для динамического общения сервера с клиентом я использовал сокет в своем учебном проекте, но это куча зависимостей и привязка к аутентификации, если нам надо знать, какому клиенту что отправлять. В вашем случае можно использовать лонгпуллинг, так, например, реализованы уведомления Вконтакте. Напишите на сервере обработчик get запроса по определённому маршруту, например "/getspeed", который бы отвечал нужными данными: res.send(controlPanelParametrs), а на фронтэнде приложения напишите AJAX Get запрос по этому адресу:

(function poll() {
   setTimeout(function() {
       $.ajax({ url: "/getspeed", success: function(data) {
            sprite_par.size(data.size);
            sprite_par.speed(data.speed);
       }, dataType: "json", complete: poll });
    }, 30000);
})();

Эта функция сама запускается первый раз и по успешному выполнению снова себя запускает рекурсивно, чтобы обновить значение. setTimeout() необходим, чтобы отправить запрос снова, если будет таймаут.

READ ALSO
Обрезать тег в строке

Обрезать тег в строке

Есть такой блок

185
Ошибка в рекурсии при обходе дерева

Ошибка в рекурсии при обходе дерева

Есть функция, которая получает массив mas2 (он задаёт структуру дерева) и массив с параметрами param, которые нужно сложить по правилу в зависимости...

205
Точно описать строчки кода. JS - слайдер

Точно описать строчки кода. JS - слайдер

Мне посоветовали взять этот кусок кодаЯ взяв, но толком мне не понятны некоторые моменты

191
Упрощение сложного if

Упрощение сложного if

Подскажите пожалуйста, можно ли упростить условие?

177