привет, мир!
абсолютно не html/js разработчик. собственно требования в дизайне нет никакого.
есть сервак, для которого сделал html-страничку, получающую через веб-сокеты от сервера json со списком текущих сервисов и их состояние. для каждого сервиса должно быть две кнопки: старт и стоп.
сделал фронтенд страничку, на которой через вебсокет выдаю таблицу сервисов, состояние и счетчики определенные. выглядит это так:<html>
<head>
<meta charset="utf-8" />
<script language="javascript" type="text/javascript">
var ws = new WebSocket( 'ws://' + location.host + '/services/state.json' );
if( ! window.console )
{ window.console = { log: function() {} } };
ws.onopen = function( ev ) { console.log( ev ); };
ws.onerror = function( ev ) { console.log( ev ); };
ws.onclose = function( ev ) { console.log( ev ); };
ws.onmessage = function( ev ) {
console.log( ev );
var data = JSON.parse( ev.data ).data;
var table = '';
table += '<table border="1">';
for( var i in data ) {
var service = data[ i ];
table += '<tr>';
table += '<td>' + service.name + '</td>';
table += '<td>' + service.state + '</td>';
table += '<td>' + service.failedCounter + '/' + service.failedLimit + '</td>';
table += '<td><button href="" type="button">СТАРТ</button></td>';
table += '<td><button href="" type="button">СТОП</button></td>';
table += '</tr>';
}
table += '</table>';
messages = document.getElementById( 'state' );
messages.innerHTML = table;
};
</script>
</head>
<body>
<div class="content">
<h1>сервисы</h1>
<a href="/services/state.json">скачать слепок</a>
<div id="state"/>
</div>
</body>
</html>необходимо добавить реакцию на динамически созданные кнопки СТАРТ/СТОП для каждого сервиса, так чтобы дергался определенный урл гет-запросом ( к примеру '/some/url?service=name&action=STOP' ), так чтобы не покидать страницу.
подскажите как проще всего это добавить в существующий код, прям самый простой способ.
спасибо.
Утилиты и тем более админские на браузерном жыэс - это уже слишком.
> Утилиты и тем более админские на браузерном жыэс - это уже слишком.ага, спасибо за анализ и высокую оценку работы, безпреценднентно высокую прницательность. очень важный и полезый комментарий.
эта морда какраз не для админов. у админов все есть.пс. напиши свой комментарий в список рассылки webmin, netdata, nagios - какие там еще есть админские веб-тулы... ну и слепо можешь слать свой комментарий в яндекс, гугл, фейсбук, мейлу - они давно ждут такого джедая, чтоб пришел научил.
Можно вначале сделать ссылку-кнопку на этот запрос, которая откроется в новой вкладке, а потом закрыть эту вкладку посредством vbscript. Но работать такое будет только в Виндовс и только в старых версиях ИЕ.
>[оверквотинг удален]
> <div id="state"/>
> </div>
> </body>
> </html>
> необходимо добавить реакцию на динамически созданные кнопки СТАРТ/СТОП для каждого сервиса,
> так чтобы дергался определенный урл гет-запросом ( к примеру '/some/url?service=name&action=STOP'
> ), так чтобы не покидать страницу.
> подскажите как проще всего это добавить в существующий код, прям самый простой
> способ.
> спасибо.Что-то типа
var xhr = new XMLHttpRequest();
xhr.open("GET", "URL", true);
xhr.send();Не прокатит??
> привет, мир!
> абсолютно не html/js разработчик. собственно требования в дизайне нет никакого.Настоятельно рекомендую ознакомится с jQuery как со средством манипулирования DOM, так и его функцией ajax.
Мне, как наколеночному пейсателю всякого админского для работы, очень сильно помогло и открыло целый новый мир.
ЗЫ: а потом я еще освоил golang и настало полное счастье.